在VS code中调试代码出现“launch: program ‘c: \build\Debug\outDebug‘ does not exist”的解决方法
在vs code开发代码的途中,我们可能会在运行或调试的途中碰到“launch: program ‘c: \build\Debug\outDebug‘ does not exist”的问题,如图所示。
这里我们按照提示打开“launch.json”
{ "version": "0.2.0", "configurations": [ { "name": "C/C++ Runner: Debug Session", "type": "cppdbg", "request": "launch", "args": [], "stopAtEntry": false, "externalConsole": true, "cwd": "c:/Users/13967/Desktop/c/output", "program": "c:/Users/13967/Desktop/c/output/build/Debug/outDebug/", "MIMode": "gdb", "miDebuggerPath": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] }
经过观察,我发现问题应当出现在program里
"program": "c:/Users/13967/Desktop/c/output/build/Debug/outDebug/",
这里定位到了代码的具体位置,但是这个位置不够准确。
如图,我写的C语言代码的编译结果都储存在“C:\Users\13967\Desktop\c\output”里面。
而不是“launch.json”中的"c:/Users/13967/Desktop/c/output/build/Debug/outDebug/"
因此我们首先要将文件位置改成自己电脑中存放C语言编译结果的文件夹,然后再在后面加上一行“${fileBasenameNoExtension}.exe”用于定位具体的.exe应用程序。
以我的电脑为例,最后改成这样:
"program": "c:/Users/13967/Desktop/c/output/${fileBasenameNoExtension}.exe",
问题成功解决!如图所示代码已经可以设置断点并且进行调试力。
参考资料:
麦克斯韦猿的CSDN博客
Microsoft的Q&A问答社区
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。