Linux c 开发-5 使用VsCode远程调试Linux程序

1、安装VSCode,安装remote插件

2、点击左下角,如果未连接的话是没有SSH的

 3、打开配置文件

 4、添加一个SSH连接,仅仅为了演示,使用本机SSH

Host 127.0.0.1
HostName 127.0.0.1
Port 22
User root
ForwardAgent yes

5、再点左下角

 

 

 输入root密码

6、左上角,打开文件夹

 

 

 7、创建一个cpp文件

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

会自动安装依赖,然后就可以F5调试了,这种方式有点奇怪:不能直接本地编写,远程调试,代码实际上是放在远程服务器上直接调试的。

输出区如下:

 

 8、如果在windows上调试C++,需要安装TDM-GCC,安装时注意勾选gbd64,新建项目后,在.vscode下增加下面两个json,即可编译通过

task.json

{
    "version": "2.0.0",
    "tasks": [{
            "label": "g++",
            "command": "g++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}.exe"
            ],
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            },
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

 

  

launch.json

{
    "version": "0.2.0",
    "configurations": [

        {
            "name": "(gdb) Launch",    // 配置名称,将会在启动配置的下拉菜单中显示
            "type": "cppdbg",         // 配置类型,这里只能为cppdbg
            "request": "launch",    // 请求配置类型,可以为launch(启动)或attach(附加)
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径
            "args": [],                // 程序调试时传递给程序的命令行参数,一般设为空即可
            "stopAtEntry": false,     // 设为true时程序将暂停在程序入口处,一般设置为false
            "cwd": "${workspaceRoot}",// 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
            "environment": [],
            "externalConsole": true,// 调试时是否显示控制台窗口,一般设置为true显示控制台
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\TDM-GCC-64\\bin\\gdb64.exe",// miDebugger的路径,注意这里要与MinGw的路径对应
            "preLaunchTask": "g++",    // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

 以上资料参考:

https://www.cnblogs.com/baihualiaoluan/p/10661669.html

https://blog.csdn.net/zy_workjob/article/details/104400805

  

 

 

  

posted @ 2021-03-01 23:40  zhaogaojian  阅读(541)  评论(0编辑  收藏  举报