1、使用环境

        win10 + Ubuntu16.04 + imx6u

2、使用步骤

(1)Remote-SSH

       ① 在VScode中安装如下插件。

        

vscode 远程docker权限不够 vscode远程debug_调试程序

        ② 进入远程资源管理器,然后新建远程连接。

         

vscode 远程docker权限不够 vscode远程debug_调试程序_02

<远程主机User>@<ip地址>

         

vscode 远程docker权限不够 vscode远程debug_linux_03

         选择window中c盘用户下的.ssh/config

        

vscode 远程docker权限不够 vscode远程debug_ssh_04

        出现如下内容

        

vscode 远程docker权限不够 vscode远程debug_端口号_05

        注:以上内容也可手动配置(删除远程ssh也可以在此文件下删除)

        ③:输入远程主机密码

        

vscode 远程docker权限不够 vscode远程debug_调试程序_06

        参考内容:

         VSCode使用 - Remote-SSH 配置说明

         VScode 删除远程资源管理器中SSH TARGETS

 (2)gdb调试

        ① 连接上远程主机后,在远程主机下安装gdb debug和C/C++插件                             

vscode 远程docker权限不够 vscode远程debug_端口号_07

         

vscode 远程docker权限不够 vscode远程debug_端口号_08

         ②打开测试代码,然后点击 运行->添加配置 ,选择GDB调试器。

        

vscode 远程docker权限不够 vscode远程debug_端口号_09

        出现launch.json配置文件,将文件内容替换为:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动", //配置名称,显示在配置下拉菜单中
            "type": "cppdbg", //配置类型
            "request": "launch", //请求配置类型,可以是启动或者是附加
            "program": "/home/user/work/gdbtest", // linux上程序可执行文件的完整路径         
            "args": [], //传递给程序的命令行参数
            "stopAtEntry": false,//可选参数,如果为true,调试程序应该在入口(main)处停止
            "cwd": "${workspaceFolder}", //目标的工作目录
            "environment": [], //表示要预设的环境变量
            "externalConsole": false,//如果为true,则为调试对象启动控制台
            "MIMode": "gdb",//要连接到的控制台启动程序
            "setupCommands": [ //为了安装基础调试程序而执行的一个或多个GDB/LLDB命令
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "miDebuggerPath": "/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gdb", // linux上适合目标板的arm格式

            // gdb程序路径,作为与目标板gdbserver通信的gdb client运行于linux服务器上
            "miDebuggerServerAddress": "192.168.20.111:9988"  //目标板上gdbserver监听的IP地址和端口号      
        }
    ]
}

        其中,program,miDebuggerPath,miDebuggerServerAddress根据实际修改

        program:需要调试的应用程序可执行文件路径。

        miDebuggerPath:此项需要手动添加,用于指定所使用的交叉编译器 gdb路径。 

        miDebuggerServerAddress:此项需要手动添加,远程 gdbserver服务器地址,端口号可以随便写。

        ③ VSCode设置好以后就可以进行调试了,启动开发板上的 gdbserver,输入如下命令:  

gdbserver 192.168.20.172:9988 gdbtest

        ④ vscode 运行-> 启动调试。

        

vscode 远程docker权限不够 vscode远程debug_调试程序_10

         参考内容:         

         通过vscode进行嵌入式linux arm开发板gdb调试