使用 vscode 远程调试目标板的 c 语言代码

本文讲述了如何在VSCode中配置launch.json以实现C语言代码的网络远程调试,涉及GDB服务器设置和调试流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用 vscode 远程调试目标板的 c 语言代码

  • 本文实现了使用 vscode 作为前端,使用网络连接目标板进行 c 语言调试。局限是需要目标板有网络接口,有gdbserver 程序,有 -g 编译参数生成的 a.out 的可执行文件。

1. vscode 添加 launch.json

  • 添加 launch.json,该配置添加完成之后,即可在 vscode 中选择该 name 进行运行调试。
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 附加",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/a.out",
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/bin/gdb-multiarch",
            "miDebuggerServerAddress": "192.168.16.101:1234",
            "cwd":"${workspaceFolder}",
                  // if you want to connect at entry point (requires remote program to start paused)
      "stopAtEntry": true,
      "stopAtConnect": true,

      "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

重点:

  1. "program": "${workspaceFolder}/a.out", 指定的调试的可执行文件
  2. "miDebuggerPath": "/usr/bin/gdb-multiarch", 必须指定用 gdb-multiarch 进行调试
  3. "miDebuggerServerAddress": "192.168.16.101:1234", 指定目标板的 ip 与端口

2. 目标板上运行

在目标板上输入命令 gdbserver localhost:1234 ./a.out, 指示使用 gdbserver 调试 a.out,并监听 1234 端口的远程调试器。

3. 在 vscode 进行调试

  1. 点击 vscode 的侧边栏 调试与运行,点击到运行 (gdb) 附加。若网络连接成功,则可以正常进行断点调试,并可以显示汇编代码和cpu寄存器进行调试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值