跳至内容
深圳市捷比信实业有限公司 · 产品选型与采购咨询联系业务人员
合金电阻捷比信 · 专业器件主题站

在vscode上使用gcc可以克服调试过程中遇到的各种顽固疾病

1. PC上的IDE在2020年。听说您仍在使用vc ++ 6.0。不,也许您到处搜索以下载并安装Visual Studio2019,就像一台巨无霸,以调试您的“这么多碎鸡”。代码?总而言之,它们要么太大,要么编译器已过时。为什么不使用gcc? Linux中不是gcc吗?可以在Windows中使用吗?你还能调试吗?什么?您不知道Windows也可以使用gcc吗?好吧,我今天将教您如何使用gcc,并且我将教您如何在vscode上使用gcc来克服调试过程中遇到的各种顽固疾病! 2.什么是MinGW以及如何安装?我不会在这里详细介绍,只是一堆百度。不必担心那么多,您知道其中包含gcc。简而言之,对于安装,您可以从MinGW官方网站https://osdn.net/projects/mingw/releases/下载安装程序,默认情况下直接安装,然后在类似的界面中选择要安装的软件包以下,例如GCC,GDB等。更大的问题是家庭网络访问速度非常慢。如果您不喜欢它,则可以单击以下链接进行下载,将其直接解压缩到您喜欢的位置(免费安装),然后配置环境变量。链接:https://pan.baidu.com/s/11MIcqo5933NQlyKVeLon_w提取代码:gmp然后,您可以像在Linux中一样愉快地播放。当然,如果您是高手,则可以使用命令行gdb进行调试。 3.在VSCode上使用了debugVSCode。也许它是当前最流行的代码监视工件之一。关键是内部插件易于使用。那么,VSCode可以调试C代码吗?答案是必须的。首先,您需要安装两个插件:C ++ / C ++和CodeRunner。然后,我将使用此官方帐户(嵌入式软件实战学校)发送的X-MACRO示例代码(单个C文件)进行实验。在下面的代码(行号左侧的红点)上戳一个断点,如下所示:接下来,在“运行...”菜单上选择“开始调试”以继续,单击“ C ++(GDB / LLDB)”,然后在下图。 exe er er,别着急!这是我的计算机有问题。您可能没有。我的计算机尚未安装.NetFramework。如果您的相同,请单击“是”,然后单击“确定”。在错误消息框中,然后按照提示安装.Net。实际上,在这一点上,如果您可以进行模拟,那么您就成功了。如果没有用,请看一下。在上述操作之后,将生成以下配置文件:“任务”:[{“类型”:“ shell”,“标签”:“ C / C ++:gcc.exebuildactivefile”,“命令”。 :“ D:MinGW ingcc.exe”,“ args”:[“-g”,“ $ {file}”,“-o”,“ $ {fileDirname} $ {fileBasenameNoExtension} .exe” ;]中的上述“命令”来配置您的gcc路径。以及“ miDebuggerPath”以下配置的是gdb的路径:“版本”:“ 0.2.0”,“配置”:[[{“名称”:“ gcc.exe生成和调试活动文件”,“类型”: “ cppdbg”,“ request”:“ launch”,“ program”:“ $ {fileDirname} $ {fileBasenameNoExtension} .exe”,“ args”:[],“ stopAtEntry”:false,“ ; cwd”:“ $ {workspaceFolder}”,“ environment”:[],“ externalConsole”:false,“ MIMode”:“ gdb”,“ miDebuggerPath”:“ D:MinGW ingdb”。 exe”,如果成功,则如下图所示,左侧的断点变成一个黄色的小图标:这时,您可以单击这些小箭头进行播放,这是一种熟悉的感觉吗?同时,您还可以通过以下窗口查看调试信息:还有输出信息:4.单个文件的VSCode多文件调试可以遵循上述方法,但是如果有多个C文件,该怎么办?我已经折腾了两分钟。现在,我用两分钟时间教您避免走弯路。我还标记了“坑”。我在这里遇到。不要踩到它。根据上述例程,直接单击“调试”,然后... er(⊙o⊙)...查看错误消息:> Executingtask:' D:ProgramFilesMinGW ingcc.exe&#; 39; -g' d:vsdebugmain.c' -o' d:vsdebugmain.exe' (注意:此示例在另一台计算机上进行了测试,因此MinGW路径与上面的有所不同。请忽略此细微差别。)此错误消息指出未找到func_a和func_b。实际上,因为它的执行方式类似:gcc-emain.c-omain.exe没有func_a.c和func_b.c文件。当然,它不知道有这两个文件。 。让我们看一下配置文件task.json“ tasks”:[{“ type”:“ shell”,“ label”:“ C / C ++:gcc.exebuildactivefile”,“通讯