我正在尝试在VSCode中配置调试器</ strong>
我浏览了official documentation,为C / C ++设置了VSCode调试器,但是它不起作用。
文档说明了设置vscode 调试器的步骤 在Windows中 powershell 。
但是我试图在Windows中使用 git bash 作为默认的集成终端设置调试器。
我已经添加了 git bash 作为默认终端,但是我无法使用git bash作为集成的 terminal 来设置 debugger 。
默认配置文件:
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "g++.exe - Build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++.exe build active file"
}
]
}
属性:
"externalConsole": false
设置为 false ,因为我希望VSCode使用集成的默认bash终端而不是使用外部终端进行调试。
tasks.json :
{
"tasks": [
{
"type": "shell",
"label": "C/C++: g++.exe build active file",
"command": "C:\\MinGW\\bin\\g++.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
],
"version": "2.0.0"
}
c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "C:\\MinGW\\bin\\gcc.exe",
"cStandard": "c11",
"cppStandard": "gnu++14",
"intelliSenseMode": "clang-x86"
}
],
"version": 4
}
settings.json
{
"files.associations": {
"iostream": "cpp"
},
"C_Cpp.errorSquiggles": "Disabled"
}
使用上述配置,开始调试时会出现以下错误:
tasks.json 中的 command 属性似乎不正确, 当bash转换时
“ C:\ MinGW \ bin \ g ++。exe ”->“ C:MinGWbing ++。exe ”
并给出 错误:“未找到命令 ”,因为bash中的反斜杠('\')是转义字符。 / p>
现在将 tasks.json 中的路径更改为bash样式:
"command": "C:/MinGW/bin/g++.exe"
解决了上述错误,但是现在它为变量${file}
给出了相同的错误,因为此路径变量被动态设置为当前打开的文件 .cpp 。
最近几天,我一直在解决此调试问题,但尚未找到任何解决方法。
如何通过配置文件 更改/更新,以在 的VSCode中使用 git bash作为默认集成终端调试 。
答案 0 :(得分:0)
由于bash转换,tasks.json中的command属性似乎不正确
"C:\MinGW\bin\g++.exe" -> "C:MinGWbing++.exe"
然后尝试一条类似Cygwin的路径:
/c/MingW/bin/g++.exe
# or
/C/MingW/bin/g++.exe
然后检查git bash会话是否正确解释了它。