Mac VScode 调试C踩坑

问题

在按下调试按钮后,可以成功编译出二进制文件,但不会在终端中运行、输出。

猜测

应该是lauch.json的配置有问题。

解决方案

安装插件

经过广泛搜索和摸索,似乎是VS code默认不再原生支持lldb调试,需要安装插件CodeLLDB,并重新配置lauch.json文件,具体配置可参考插件介绍页面的Quick Start栏。

修改配置

需要注意,如需要在编译后自动调试,还需要将program项的值改为和tasks.json文件中的一样。除此之外还需要加入preLaunchTask项。以下为我的launch.json全文件。

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug",
            "program": "${fileDirname}/${fileBasenameNoExtension}",   //需要添加
            "args": [],
            "cwd": "${workspaceFolder}",
            "preLaunchTask": "C/C++: gcc 生成活动文件",       //需要添加
            //"console": "externalTerminal"       //打开外部终端
        }
    ]
}

至此就可以用lldb正常调试。

注意:当修改"type"项的时候,"console"项也需要跟着变化(虽然都是控制终端,但写法不同)。

posted @ 2021-05-18 14:41  Tanche-Z  阅读(562)  评论(0编辑  收藏  举报