在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问答社区

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年12月22日
下一篇 2023年12月22日

相关推荐