再谈vscode界面调试C++程序(linux)
配套文档:vscode界面调试C++程序(linux)
命令解释
g++ -g ../main.cpp
编译main.cpp
文件;
-g
:生成调试信息。编译器会在可执行文件中嵌入符号表和源代码文件名,方便调试器进行调试。
1. 引言和方案简介
VSCode对于C++的调试方式
VSCode对于C++提供了两种调试方式:
- 基于VSCode自带的自动构建调试:构建配置 + CPP插件
- 基于CMake方式的调试:CMake插件
2. 配置文件编写
2.1 左上角“运行和调试”窗口
可以创建launch.json
文件;
2.2 Launch.json
点击添加配置…引入调试程序
3. 调试中功能点简介
反汇编视图
操作路径:调试模式下
⇒
\Rightarrow
⇒ .cpp
代码页面
⇒
\Rightarrow
⇒ 打开右键菜单
⇒
\Rightarrow
⇒ 值更改时中断
写入断点
操作路径:选中变量,或容器中的某个元素 ⇒ \Rightarrow ⇒ 打开右键菜单 ⇒ \Rightarrow ⇒ 打开反汇编视图
添加记录点
在调试控制台中输出信息,也支持表达式的输出;
All C++ Exceptions
类似python调试的“在异常处中断”;
4. 以“死循环”为例进行attach调试
4.1 在控制台中启动程序a.out
4.2 在调试选项卡,启动Debug任务“1212”
启动附加调试,此时调试控制台中会有符号载入的信息显示,
4.3 点击调试工具栏的⏸按钮,查看代码阻塞原因
4.4 点击调试工具栏的断开按钮,停止附加进程
因为只有先断开调试附加程序,才能在终端中使用Ctrl + C中止a.out程序的运行,
4.5 底部状态栏也可以启动调试
然后快捷栏会提示:选择调试任务,