(VSCode Mac)无法开始调试,是的,我已经对其进行了搜索,没有任何帮助

时间:2018-11-16 00:57:17

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

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

Main.app:

#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

问题 Problem Error

项目文件层次结构 Project Files Hierarchy

我不确定从这里到哪里,我真的不知道还有什么需要补充的信息。如果您能帮助我,那就太好了。

1 个答案:

答案 0 :(得分:0)

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

首先,您的Main.app是完全错误的。传统上,.app程序是用Objective C或Swift编写的,通常是基于Cocoa的本机macOS应用程序。你没那么做您实质上只是在尝试调试控制台应用程序。该任务的非常基本设置如下

首先是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"
        }
    ]
}

接下来,是task.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
            }
        }
    ]
}

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

main.cpp

#include <iostream>

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

总而言之,您可以通过默认热键(假设您尚未更改,即shift-cmd-B)运行构建,或者从命令面板中选择它(shift-cmd-P),然后键入Build,然后将找到默认的构建命令。这将执行在task.json中定义的构建命令。

要进行调试,请切换到“调试资源管理器”,该资源管理器将通过上面提供的launch.json提供一个名为(lldb) Launch的启动选项。运行该命令将运行您的程序,并且如果您事先在源文件中建立了断点,则它们将跳闸。


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

希望有帮助。