VSCode:程序 'SourceFolder/test' 已退出,代码为 42 (0x0000002a)

VSCode : program 'SourceFolder/test' has exited with code 42 (0x0000002a)

我正在尝试从 launch.json 文件 运行,因此我可以使用 gdb 调试我在 vscode.

中的程序

launch.json:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "g++ build and debug active file",
      "type": "cppdbg",
      "request": "launch",
      "program": "SourceFolder/test",
      "args": [],
      "stopAtEntry": false,
      "cwd": "SourceFolder",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "g++ compile active file",
      "miDebuggerPath": "/usr/bin/gdb"
      }
    ]
}

路径正确,我可以在文件夹中看到编译后的文件。 我可以通过控制台 运行 程序 (bash) 没问题,它不会抛出任何错误,但是当我通过这种方法 运行 它时,我会弹出以下内容:

Unable to start debugging. Program path 'SourceFolder/test' is missing or invalid.

GDB failed with message: SourceFolder/test: File or directory not found.

...

和调试终端 returns:

The program 'SourceFolder/test' has exited with code 42 (0x0000002a).

“preLaunchTask”:“g++ 编译活动文件”是否会导致此错误?

preLaunchTask 名称必须与 .vscode 中默认构建的 tasks.json 文件的 label 标记匹配。检查它们是否匹配。 如果这还不够,请继续您的源代码文件,按 Ctrl+Shift+B 并查看预编译器是否一切正常。你应该看到这样的东西:

> Executing task: g++ build active file <

Starting build... /usr/bin/g++ -fdiagnostics-color=always -g "sourcefilename.extension" -o "sourcefilenameNoExtension" Build finished successfully.

Terminal will be reused by tasks, press any key to close it.

如果这恰好没问题,那么您应该准备好文件 'SourceFolder/test' 运行。如果这出错了,您可以检查您的 tasks.json 设置,或者简单地将文件名更改为 test.extension 并将其放入 SourceFolder 文件夹(如果您还没有的话)。 如果您的意思是 SourceFolder 是实际打开的文件夹的默认值,那么您应该写 ${workspaceFolder}。 顺便说一句,您可以在 VSCode

的本指南中找到这个以及更多内容

https://code.visualstudio.com/docs/languages/cpp#_tutorials

在这里您可以找到在您的操作系统上使用 G++ 的链接。