背景:

嵌入式linux软件开发过程中需要依赖硬件运行环境,为了方便debug调试,使用vscode+gdbsever可满足该需求,高效进行开发

准备:

1:将交叉编译工具链放入ubuntu中
2:嵌入式设备需要支持gdbserver,否则需要进行移植

实现:

1:vscode点击调试创建launch.json
在这里插入图片描述
2:复制下方内容并替换

{
    "version": "0.2.0",
    "configurations": [
      {
        "name": "gdb-arm",
        "type": "cppdbg",
        "request": "launch",
        "args": [],
        "stopAtEntry": false,
        "externalConsole": false,
        "cwd": "${workspaceFolder}",
        "program": "${workspaceFolder}/XXX.elf",
        "MIMode": "gdb",
        "miDebuggerPath": "/usr/arm/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gdb",
        "miDebuggerServerAddress": "172.XX.XX.XX:12345",
        "setupCommands": [
          {
            "description": "Enable pretty-printing for gdb",
            "text": "-enable-pretty-printing",
            "ignoreFailures": true
          }
        ]
      }
    ]
  }

3:修改"program"为目标可执行文件,可执行文件编译时要加上-g选项
4:修改"miDebuggerPath"为交叉编译工具链gdb的路径
5:修改 "miDebuggerServerAddress"为gdbserver的ip和端口,端口可以随意指定(除22 ssh专业端口)
-----------------------------此时vsode完成配置-------------------------------------
6:确保ubuntu和嵌入式设备可以ping通
7:将在ubuntu编译好的可执行文件拷入嵌入式设备中
8:在嵌入式设备中启用gdbserver
在这里插入图片描述
9:vscode中按F5开始调试,命中断点,可进行调试
在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐