【问题标题】:(VSCode Mac) Unable to start debugging, and yes I've googled it, and nothing helped(VSCode Mac)无法开始调试,是的,我用谷歌搜索过,没有任何帮助
【发布时间】:2019-04-19 04:13:44
【问题描述】:

我看过有关此的帖子,但没有与我直接相关的帖子(例如,它们不在 Mac 上)。

主应用程序:

#include <iostream> 
using namespace std; 

int val = 500;

int main() 
{ 
    int val = 200; 
    cout << "Value of global x is " << ::val;
    cout << "Value of local x is " << val;
    return 0; 
} 

Main.cpp:

#include <iostream> 
using namespace std; 

int val = 500;

int main() 
{ 
    int val = 200; 
    cout << "Value of global x is " << ::val;
    cout << "Value of local x is " << val;
    return 0; 
} 

launch.json : https://pastebin.com/UqK9yFWJ

tasks.json : https://pastebin.com/fqMNs3JT

问题

项目文件层次结构

我真的不确定从这里去哪里,我真的不知道还有什么可以输入的信息。如果你能帮助我,那就太好了。

【问题讨论】:

  • 您是否尝试调试实际的源代码?您不应该有带有源代码的Main.app。您应该将源文件Main.cpp 构建成可执行程序,然后可以进行调试。
  • 我真的不知道该怎么做...
  • 请阅读how to ask good questionsthis question checklist。不要发布指向重要信息的链接。链接可能会过时或变得无效。问题需要自成一体,否则 rick 会变​​成毫无价值的包袱。我们现在不仅可以帮助您,还可以帮助未来可能遇到同样问题的人。而是将文本复制粘贴到问题正文中。
  • 是的,我知道。我并不想为此找借口,但我只是从一种不需要任何帮助的语言继续前进,然后才开始使用论坛
  • 我要研究一下你的第一句话

标签: c++ macos debugging visual-studio-code


【解决方案1】:

有多种方法可以在 macOS 上设置简单的 VSCode 以进行调试。以下是其中之一,它应该为您指明正确的方向。

首先,您的 Main.app 完全是错误的。 .app 程序传统上是用 Objective C 或 Swift 编写的,通常是基于 Cocoa 的原生 macOS 应用程序。你不这样做。您实际上只是在尝试调试 console 应用程序。该任务的非常基本设置如下

首先是launch.json。这就是告诉 VSCode 运行什么

launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(lldb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/YourProgramNameHere",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "lldb"
        }
    ]
}

接下来,tasks.json。这就是告诉 VSCode 如何构建代码的原因。

tasks.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Build Project",
            "type": "shell",
            "command": "clang++",
            "args": [
                "-g",
                "--std=c++14",
                "-o",
                "YourProgramNameHere",
                "main.cpp"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

最后,主要的源文件本身(这里没有什么特别令人兴奋的):

ma​​in.cpp

#include <iostream>

int main()
{
    std::cout << "Hello, World!\n";
}

将所有这些放在一起,您可以使用默认热键(假设您没有更改它,它是 shift-cmd-B)运行构建,或者从命令面板中选择它 (shift-cmd-P),然后输入Build,应该会找到默认的构建命令。这将执行您的 tasks.json 中定义的构建命令。

然后要进行调试,请切换到调试资源管理器,使用上面提供的 launch.json,该资源管理器将有一个名为 (lldb) Launch 的启动选项。运行它应该运行你的程序,如果你事先在源文件中建立断点,它们应该会跳闸。


这只是执行此操作的一种方法。还有其他一些可能会变得更复杂,但是对于构建一个包含几个文件的简单项目并对其进行调试,这已经是最基本的了。

希望对你有帮助。

【讨论】:

  • 天哪,终于有人知道他的东西了。非常感谢,这对我有用
  • 现在我终于可以用vscode来练习所有类型的代码了:D
猜你喜欢
  • 1970-01-01
  • 2021-07-07
  • 1970-01-01
  • 2010-11-12
  • 1970-01-01
  • 1970-01-01
  • 2022-10-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多