用Mac上的makefile在C语言中调试代码
#c #debug #makefile #code

调试其代码仍然是解决错误的基本步骤。在一条代码方面,一些程序似乎不那么笨重,实际上并不需要调试。另一方面,其他包含数百行代码,几乎不可能修复错误而无需调试错误。

在本教程中,我将解释如何使用配置的makefile在C中进行调试。

调试选项默认情况下集成在Visual Studio中,
在C进行调试中,我们需要安装一个扩展程序,您将在此link上找到该扩展名。

安装了扩展名后,现在该开始配置了。

创建一个.vscode文件夹
在此文件夹中创建一个启动.json文件,您将在其中将代码放在下面

{
    “version”: “0.2.0”,
    “configurations”: [
        {
            “name”: “C/C++: clang++ build and debug active file”,
            “type”: “cppdbg”,
            “request”: “launch”,
            “program”: “${workspaceFolder}/[execName]”,
            “args”: [arg1, arg2],
            “stopAtEntry”: true,
            “cwd”: “${workspaceFolder}“,
            “environment”: [],
            “externalConsole”: false,
            “MIMode”: “lldb”,
            “preLaunchTask”: “make re”
        }
    ]
}

总而言之,此配置允许我们通过给它一个名称,运行程序,通过的参数等来设置调试器等...
最重要的要注意和修改的内容是您程序的名称和运行程序时通过的各种参数。

nb:参数列表必须在逗号分隔字符串中。

只有最后一步
您是否注意到我们启动的最后一行。JSON文件包含一个属性prelaunchtaskâ:使Reâ在下面的步骤中很有用。

让我们创建另一个 tasks.json 在相同的.vscode文件夹中,位于您项目的根部,在此文件夹中,我们将定义一些在启动调试器之前执行的任务。

该文件的简化版本应该看起来像这样。

{
    “version”: “2.0.0”,
    task:
    [
        {
            “label”: “make re”,
            “type”: “shell”,
            “command”: “make”,
            “args”: [“re”]
        }
    ]
}

nb: 标签 prelaunchtask 必须相同才能创建链接。

总结此配置使我们能够启动命令 make ,然后是参数 re ,其意思是“重建”,因此调试器的新实例包含最新更改。

nb:要使断点工作要工作,您必须将#-G#属性包括在项目的编译标志中,例如:> gcc -g -wall -wall -wextra等...
否则到目前为止所做的所有工作都将徒劳。

我们都很好,您要做的就是单击编辑左侧的第三个选项卡以启动调试器。

debugger image

愉快地编码您,下周见您以获取新文章。