无法在Mac上调试visual studio代码中的C++.Launch.json不在终端执行程序



我是Visual Studio代码的新手。我正在尝试调试一个简单的C++代码。我编辑了我的launch.json,以便能够像这样调试应用程序:

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

当我开始调试时,终端在正确的文件夹中打开,但程序没有执行。因此,可视化代码不会在我要在程序中检查的断点处停止。

在我的task.json中,我有以下代码:

{
"version": "2.0.0",
"tasks": [
{
"label": "Echo vars",
"command": "echo",
"args": [
"${env:USERNAME}",
"workspaceFolder = ${workspaceFolder}"
],
"type": "shell",
"problemMatcher": []
},
{
"label": "build",
"type": "shell",
"command": "g++ -g Calculator.cpp -o Calculator",
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": "$gcc"
}
]
}

有人能帮我吗?

提前感谢

如评论中所述:如果您的Calculator.cpp没有使用调试符号编译,即在没有-g标志的情况下调用g++,则您将无法调试它。

因此,在launch.json中添加一个prelaunchTask条目,以确保在启动调试器之前始终执行使用调试符号编译源代码的构建任务。

"environment": [],  
"externalConsole": true,  
"MIMode": "lldb",      
"preLaunchTask": "build"

编辑launch.json,将调试器日志输出添加到项目中:

"logging": { "engineLogging": true, "trace": false, "traceResponse": false } 

相关内容

最新更新