VSCode 启动调试会话时 MacOS 上的 LLDB 错误

VSCode LLDB on MacOS error when starting debugging session

我正在尝试为 MacOS 上的 compiling/debugging C++ 程序配置 VSCode。我正在使用以下 launch.json 文件:

当我尝试启动调试会话时,出现以下错误:

Warning: Debuggee TargetArchitecture not detected, assuming x86_64.
ERROR: Unable to start debugging. Unexpected LLDB output from command "-exec-run". process 
exited with status -1 (attach failed ((os/kern) invalid argument))
The program '/path/to/Development/C++/helloworld/main' has exited with code 42 
(0x0000002a).

值得一提的是,我使用的是 M1 Macbook,因此 x86_64 不是正确的架构。我假设这是错误的原因。

我似乎无法在网上的任何地方找到任何关于此错误的参考资料,有人知道我该如何解决这个问题吗?

编辑:添加“targetArchitecture”:“ARM64”删除了警告,但未修复错误。

我遇到了同样的问题,我发现 VScode 还不支持 ARM64 二进制文件的调试器。这是问题 link.

但是,如果您使用其他扩展程序,它会起作用。安装 CodeLLDB 并在 launch.json 上设置 "type": "lldb",如下所示。

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
      {
        "name": "clang++ - Build and debug active file",
        "type": "lldb",
        "request": "launch",
        "program": "${fileDirname}/${fileBasenameNoExtension}",
        "args": [],
        "cwd": "${workspaceFolder}",
        "preLaunchTask": "clang++ build active file"
      }
    ]
  }

您可以查看 vscode-lldb 存储库的 quick start 指南。

请注意,preLaunchTask 的值应与 task.json 中的标签值相同。

使用命令使可执行:

gcc file_name.c -g

launch.json

“目标架构”:“x86_64”,