高端企业网站开发,网站需要第三方登录怎么做,下载应用的app,成都制作网页设计初学者在调试一段代码的时候#xff0c;经常出于不明原因#xff0c;写出bug#xff0c;导致程序崩溃。但是定位崩溃的地方时#xff0c;往往采用简单而朴素的方法#xff1a;即采用cout或者printf进行输出。这种方式既原始#xff0c;又低效。一个合格的工程师应该是通过…初学者在调试一段代码的时候经常出于不明原因写出bug导致程序崩溃。但是定位崩溃的地方时往往采用简单而朴素的方法即采用cout或者printf进行输出。这种方式既原始又低效。一个合格的工程师应该是通过打断点的方式进行调试而非加入各种print。
但是采用gdb调试则需要熟悉gdb的各种指令往往不能快速入手。
好在vscode 提供了比较便捷的调试方法本文就对vscode进行C本地调试的方法做一个简单的介绍和实践。
针对这块的调试我会更新本地调试、ROS版调试远程docker调试等方法见专栏地址
C调试专栏
一创建工程
为简单起见我们创建唯一的cpp文件 我们针对这个main.cpp创建一个CMakeLists.txt 我们需要通过Cmake方法编译并创建一个工程。可以参见Cmake入门一基本编译命令_cmake命令行编译-CSDN博客 复杂工程同理主要是Cmake语句的区别见我上文的博客链接 cmake_minimum_required( VERSION 3.0)project( Hello_project )add_executable( Hello main.cpp )add_definitions(-g)
我们可以注意到这里有一句很重要的指令即
add_definitions(-g)
这句指令是正常编译代码所不需要的加在这里就是为了我们的调试需要。
二配置Vscode
1.创建launch.json: 点击过后就会创建出一个空的launch.json
2.新增配置
我们点击Add Configuration 我们选择这一项 我们会发现创建出了一个写了配置的json文件 3.编译文件 这个会使用cmake的同学都知道怎么使用即
mkdir build
cd build
cmake ..
make
会在build文件下创建出可执行文件 4.修改配置文件
因为我们要对生成的这个Hello文件进行调试所以需要对刚刚生成的launch.json修改文件路径 我们可以看到已经修改为build目录下的Hello文件。
三开始调试
1. 加入断点 我们在左侧通过鼠标点击加入断点
2. F5进行调试 我们通过按键盘的F5即成功进入了这里的调试过程。
3. 按钮介绍
我们对代码略微做修改比如这里加入一个循环记得重新编译 当我们点击step over时它会进入到循环中
而如果我们点击的是continue按钮它会直接跳到下一个断点处 其他按钮细节则见主要和自定义函数有关我就不抄别人的东西了
【Debug】vscode代码方法_vscode能一步一步debug-CSDN博客
4. 查看变量 通过这种方式可以看到变量的值这种方法可以省去我们通过cout去查看变量值的过程。
5. 检查程序崩溃和段错误
我们再次修改代码记得编译直接去造一个空指针并且给它赋值再访问一遍这时候理应产生段错误 如果我们在终端里直接输出 如果程序比较复杂或者缺少输出信息我们只知道程序挂了却不知道挂在哪一行了。这种debug如果不靠调试模式就非常痛苦需要到处加cout伴随自己的猜测才能确定故障原因。
好在我们有了现在的调试模式 我们直接就可以逮到这个异常发生的位置不需要再苦苦的cout了。