Windows(10/11)端vscode开发、调试远程Linux(Ubuntu14.04)端c++ 开发环境部署步骤

1、安装vscode。

        进入https://code.visualstudio.com/即vsocde官网选择Windows x64版本下载并安装。

        安装过程中推荐勾选往右键菜单添加通过vscode打开文件夹的选项。

2、vsocde插件安装

        打开vscode,点击左侧菜单栏中拓展选项并安装下列插件

C/C++ Themes
C/C++
C/C++ Clang Command Adapter
C/C++ Extension Pack
C/C++ Runner
CMake
CMake Tools
cmake-format
CMake Language Support
CodeLLDB
Better C++ Syntax
Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code
Remote - SSH
Remote - SSH: Editing Configuration Files
Dev Containers
Remote - Tunnels
Remote Development
Remote Explorer

完成插件安装后重启vscode。

3、配置ssh密钥

        打开cmd并运行ssh-keygen命令,连续按回车键直到运行结束,打开图中路径找到密钥。

        将id_rsa文件即私玥改为自己需要的文件名,如id_rsa_ubuntu14_server。将id_rsa.pub文件即公玥拷贝至远程Linux设备,在远程Linux设备上运行下列命令,其中your_download_path为Linux端id_rsa.pub文件存放路径。

mkdir ~/.ssh
cd ~/.ssh
cat your_download_path/id_rsa.pub >> authorized_keys

4、vscode连接远程主机

        点击左侧菜单栏中远程资源管理器打开远程菜单,将鼠标放到ssh栏中点击出现的十字按钮

        在上方弹出的输入框内输入目标Linux服务器的IP地址并回车,在之后出现的选择SSH配置文件选项中选择第一条即C:\Users\Username\.ssh\config选项,选择后页面左下角出现弹窗,点击弹窗中的打开配置文件按钮。将config文件内容改为:

Host ubuntu14_server_c1
    HostName 192.168.137.168
    User htinvent
    IdentityFile "C:\Users\Admin\.ssh\id_rsa_ubuntu14_server"

Host ubuntu14_server_c2
    HostName 192.168.137.169
    User htinvent
    IdentityFile "C:\Users\Admin\.ssh\id_rsa_ubuntu14_server2"

        其中HostName为目标Linux服务器地址,User为存放公玥的Linux账户名,IdentityFile为私玥文件。保存更改后重启vscode。

        重启后再次点击左侧菜单栏中远程资源管理器打开远程菜单,展开SSH选项后出现配置文件中的连接名。将鼠标放在连接名上并点击出现的两个选项中的一个进行连接。之后在上方弹出的选项中分别选择Linux、continue。至此完成远程连接。

5、配置远程编译及调试

        vscode远程连接至目标主机后点击文件——打开文件夹,打开一个文件夹。创建一个main.cpp文件,内容为:

#include <iostream>
using namespace std;
int main()
{
    cout << "SSH" << endl;
    return 0;
}

        点击左侧菜单栏中运行和调试打开调试菜单并点击运行和调试。

        点击弹出的选择栏中任意一项选项,之后弹出编译失败警告弹窗,点击终止按钮。回到资源管理器,应生成/.vscode/tasks.json文件。

        

 将tasks.json内容改为

{
    "tasks": [
        {
            "type": "shell",
            "label": "linux_make_debug",
            "command": "${workspaceFolder}/cmd_debug.sh",
            "args": [],
            "problemMatcher": []
        },
        {
            "type": "shell",
            "label": "linux_debug_only",
            "command": "${workspaceFolder}/empty.sh",
            "args": [],
            "problemMatcher": []
        }
    ],
    "version": "2.0.0"
}

点击左侧菜单栏中运行和调试打开调试菜单并点击创建launch.json文件按钮。

将 launch.json内容改为

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C/C++: g++ linux_make_debug",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/bin/test",
            "args": [], /**/
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}/bin",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/bin/gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "linux_make_debug",
        },
        {
            "name": "C/C++: g++ linux_debug_only",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/bin/test",
            "args": [], /**/
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}/bin",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/bin/gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "linux_debug_only",
        }
    ]
}

        其中program需要根据项目实际生成可执行文件名称修改,其中args为运行可执行文件时的附加参数。

        在最外层分别创建cmd_debug.sh及empty.sh,将cmd_debug.sh的内容改为自己的编译指令如:

mkdir bin
g++ main.cpp -o bin/test -g

        可以根据自己的编译工具自由发挥,只要目标文件名和 launch.json保持一致即可。

6、测试

        在main.cpp中打上断点并按照图示开始编译及调试。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值