gpt4 book ai didi

c++ - GDB 无法使用 VS Code 调试正在运行的进程,但可以通过命令行

转载 作者:行者123 更新时间:2023-12-03 06:51:12 31 4
gpt4 key购买 nike

我正在尝试在 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 时做了一些额外/奇怪的事情,有没有办法解决这个问题?

最佳答案

MinGW 上的 GDB 有一些 limitations :

GDB on Cygwin and MinGW cannot break a running process. To set abreakpoint when the application is running (not stopped under thedebugger), or to pause the application being debugged, press Ctrl-C inthe application's terminal.


在 VS Code 中设置断点之前,请确保使用 Ctrl-C 停止应用程序。另见相关问题: https://github.com/Microsoft/vscode-cpptools/issues/595 .

关于c++ - GDB 无法使用 VS Code 调试正在运行的进程,但可以通过命令行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64723109/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com