You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调试GDB中运行的Python辅助脚本(VSCode环境)

调试GDB加载的Python脚本(VSCode环境)

下面是在VSCode中调试GDB自定义Python脚本的具体步骤:

方法一:通过调试服务器连接(推荐)

1. 修改你的GDB Python脚本

在脚本的起始位置(自定义命令实现前)添加调试启动代码:

import ptvsd
# 开启调试服务,绑定本地5678端口
ptvsd.enable_attach(address=('localhost', 5678), redirect_output=True)
# 等待VSCode调试器连接,避免代码提前执行
ptvsd.wait_for_attach()

2. 配置VSCode调试项

在工作区的.vscode/launch.json中添加以下配置:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Attach to GDB Python",
            "type": "python",
            "request": "attach",
            "connect": {
                "host": "localhost",
                "port": 5678
            },
            "pathMappings": [
                {
                    "localRoot": "${workspaceFolder}",
                    "remoteRoot": "${workspaceFolder}"
                }
            ],
            "justMyCode": false
        }
    ]
}
  • justMyCode设为false可调试GDB内置Python代码,仅调试自有脚本时可设为true
  • pathMappings保证本地脚本路径与GDB加载路径一致,避免断点失效

3. 启动GDB并加载脚本

打开终端启动GDB,加载你的Python脚本:

gdb
(gdb) source your_gdb_script.py

此时GDB会暂停在wait_for_attach处,等待调试器连接。

4. 在VSCode中启动调试

在VSCode调试面板选择Attach to GDB Python,点击启动按钮。连接成功后,即可在脚本中设置断点,执行GDB自定义命令时会自动命中断点,后续操作与调试普通Python脚本一致。

方法二:直接附加到GDB进程

无需修改脚本的情况下,可通过进程附加调试:

  1. 启动GDB并加载你的Python脚本
  2. 在VSCode调试面板选择Python: Attach,在进程列表中找到gdb进程并选中附加
  3. 提前在脚本中设置断点,执行GDB自定义命令即可触发断点

注意事项

  • 确保GDB使用的Python环境已安装ptvsd,可通过pip install ptvsd安装(若GDB绑定系统Python,需用对应环境的pip执行安装)
  • 调试过程中避免在GDB中执行会中断进程的操作,防止调试会话异常

内容的提问来源于stack exchange,提问作者stu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 22:25:13