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

内容如下:

相关推荐
天启HTTP4 分钟前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
广州浮点FLOATLIC2 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
BLUcoding3 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom
AIgorithmGEEK3 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化
Nil2083 小时前
leetcode 139单词拆分
linux·运维·服务器
Starry-sky(jing)3 小时前
BUG: unable to handle kernel paging request 完整排查:dmesg 四要素与三路定罪
linux·运维·服务器·内核·排障
mounter6253 小时前
从硬件互连到操作系统变革:CXL 技术演进与 Linux 内核工程挑战
linux·运维·服务器
kite01214 小时前
TraeCode 与 TraeWork 合并:AI 时代 IDE 的三种形态与未来开发工具
ide·ade·traework·traecode
xh didida4 小时前
Linux -- 基础IO
linux·服务器·开发语言·c++
weixin_461769405 小时前
VS Code 中创建 Jupyter 文件(.ipynb)
ide·python·jupyter