vscode 配置gdb 调试,可以打断点但是无法停在断点处
launch.json{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "C:/Users/Administrator/Desktop/temp/c/hello",
"args": [],
"stopAtEntry": false,
"cwd": "C:/soft/cygwin64/bin",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
// "preLaunchTask": "C/C++: g++ build active file",
"miDebuggerPath": "C:/soft/cygwin64/bin/gdb.exe"
}
]
} 在你的launch.json配置文件中,有两个地方可能需要注意。
首先,确保你设置了"stopAtEntry": false,这样GDB将不会在程序入口处停下来。如果你想要在程序开始时就停下来,可以将该值设置为true。
其次,你需要正确设置"cwd"字段,它指定了GDB的当前工作目录。确保它指向你的项目文件夹。
这是一个更新后的例子:
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "C:/Users/Administrator/Desktop/temp/c/hello",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": {},
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [],
"miDebuggerPath": "C:/soft/cygwin64/bin/gdb.exe"
}
]
}
请根据你的具体情况进行相应调整。现在,尝试再次运行调试器并设置断点,看看是否能够在断点处停下来。如果还有问题,请提供更多的细节和错误信息,以便我们能够帮助你解决问题。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 FishC 发表于 2024-2-16 09:55
在你的launch.json配置文件中,有两个地方可能需要注意。
首先,确保你设置了"stopAtEntry": false,这 ...
PS C:\Users\Administrator\Desktop\temp\c>& 'c:\Users\Administrator\.vscode\extensions\ms-vscode.cpptools-1.19.3-win32-x64\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-e0fijdhe.hwm' '--stdout=Microsoft-MIEngine-Out-e3ukuvzu.gzt' '--stderr=Microsoft-MIEngine-Error-gzbdvyak.iy0' '--pid=Microsoft-MIEngine-Pid-ojejl01j.kn4' '--dbgExe=C:/soft/cygwin64/bin/gdb.exe' '--interpreter=mi'
这是执行debug之后控制台的输出 Max472 发表于 2024-02-16 10:00
PS C:\Users\Administrator\Desktop\temp\c>& 'c:\U ...
根据你提供的控制台输出,问题可能出在Cygwin和GDB的配置上。请按照以下步骤检查你的配置:
1. 确保你安装了最新版本的Cygwin,并选择了合适的包(例如`gcc-core`, `gdb`等)。可以在Cygwin的官方网站下载最新版本:https://cygwin.com/install.html
2. 检查launch.json中"miDebuggerPath"字段的路径是否正确,它应该指向Cygwin中的gdb.exe文件。确保路径名中的斜杠是正斜杠("/")而不是反斜杠("\")。
3. 检查launch.json中"cwd"字段的路径是否正确,它应该指向你要调试的项目文件夹的路径。同样,确认路径名中的斜杠是正斜杠("/")。
如果以上步骤都没有解决问题,你可以尝试以下方法:
1. 如果你安装了其他编译工具链(如MinGW),尝试将"miDebuggerPath"字段的路径改为对应工具链中的gdb.exe文件路径。
2. 尝试在launch.json文件中设置"externalConsole"字段为true,这样可以使用外部控制台来执行程序,有时可以解决一些与内置终端相关的问题。
希望以上方法能够帮助你解决问题。如果还有其他问题,请提供更多的细节和错误信息。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]