VSCode远程调试Linux程序

VS 安装CodeRunner插件

菜单→添加配置→lunch.json中设置如下:

program填入要调试的文件

bash 复制代码
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "gdb renderPng",
      "type": "cppdbg",
      "request": "launch",
      "program": "${workspaceFolder}/renderPng",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${fileDirname}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "setupCommands": [
          {
              "description": "为 gdb 启用整齐打印",
              "text": "-enable-pretty-printing",
              "ignoreFailures": true
          },
          {
              "description": "将反汇编风格设置为 Intel",
              "text": "-gdb-set disassembly-flavor intel",
              "ignoreFailures": true
          }
      ]
    },
  ]
}
如果需要sudo权限调试修改如下:
bash 复制代码
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "gdb renderPng",
      "type": "cppdbg",
      "request": "launch",
      "program": "${workspaceFolder}/renderPng",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${fileDirname}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "miDebuggerPath":"/home/pozhu/Desktop/sudo_gdb",
      "setupCommands": [
          {
              "description": "为 gdb 启用整齐打印",
              "text": "-enable-pretty-printing",
              "ignoreFailures": true
          },
          {
              "description": "将反汇编风格设置为 Intel",
              "text": "-gdb-set disassembly-flavor intel",
              "ignoreFailures": true
          }
      ]
    },
  ]
}

新建脚本sudo_gdb

bash 复制代码
sudo /usr/bin/gdb $@

chmod 777 sudo_gdb

路径填在字段miDebuggerPath

调试快捷键

继续 / 暂停 F5

跳过 F10

跳入 F11

跳出 Shift+F11

重启 Ctrl+Shift+F5

停止 Shift+F5

添加终端任务:

菜单→终端→添加任务→新建tasks.json

内容如下:

相关推荐
feng_you_ying_li2 小时前
linux之网络层
linux·运维·网络
未来之窗软件服务2 小时前
Linux 运维日志删除的多种方式—东方仙盟
linux·运维·服务器·仙盟创梦ide·东方仙盟
小雉系统2 小时前
BcoreOS实战:用一个升级包,让Rocky Linux跑进Debian服务器
linux·运维·服务器·debian
thethefighter2 小时前
快速预览Word、WPS秒开,支持空格弹窗
linux·word·wps·快速预览·空格弹窗·nhdeepview
用户8351414049493 小时前
把日志和寄存器值喂给AI做故障定位,我的实际问法
linux·ubuntu
Ruiery3 小时前
Linux 6.6内核内存管理深度解析(十七):vmalloc — 内核要“虚拟连续“就够:物理页逐个凑,页表来连
linux·运维·服务器
Escalating_xu3 小时前
【Linux 网络编程】ARP 的具体过程与 ARP 欺骗:一条 IP → MAC 映射,怎样改变数据的去向?
linux·网络·tcp/ip
坚定的共产主义生产设备永不宕机4 小时前
服务器从裸机开始搭建ESXI虚拟机
linux·服务器·网络
刚入门的大一新生4 小时前
Linux-线程封装
linux·运维·服务器
god_cvz4 小时前
实践:Linux环境构建CTB工具(cesium-terrain-builder)
linux·gis·ctb