【发布时间】:2021-02-19 16:31:04
【问题描述】:
我正在尝试在 Windows 上调试由 python 脚本启动的 C++ 应用程序。我可以从命令行使用 GDB 附加到该进程,并且一切正常。
但是,当尝试使用 VS Code 附加 GDB 时,它管理附加,但所有断点都卡在 Attempting to bind to the breakpoint... 并尝试在调试控制台中执行命令返回 Unable to perform this action because the process is running.。
这是我的 launch.json 配置:
{
"name": "(gdb) Attach",
"type": "cppdbg",
"request": "attach",
"program": "${workspaceFolder}\\build\\program.exe",
"processId": "${command:pickProcess}",
"MIMode": "gdb",
"miDebuggerPath": "C:\\Program Files (x86)\\mingw-w64\\i686-8.1.0-posix-dwarf-rt_v6-rev0\\mingw32\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
我假设 VS 代码在启动 GDB 时做了一些额外/奇怪的事情,有没有办法解决这个问题?
【问题讨论】:
-
我遇到了完全相同的问题。想知道你是否在这里找到了工作。我注意到的可能是一样的。如果您在启用断点的情况下附加或启动,则 vs-code 可以正常工作,但是如果您正在运行并且设置了断点等,那么这将不起作用。我希望至少有一种方法可以用 ctrl-c 暂停调试器,从而允许我设置必要的断点。
标签: c++ gcc visual-studio-code gdb