使用VScode对C/C++进行可视化的代码跟踪调试
一、安装VScode
方式一:
方式二:
1、1. 从vscode官网下载最新版本,deb包下载地址:https://code.visualstudio.com/docs?dv=linux64
2、使用终端命令行进行安装
- 进入到VScode deb包的当前目录,打开终端
- 输入命令
sudo dpkg -i code_1.50.1-1602600906_amd64.deb(你下载的安装包的名字)
执行结果:
- 安装完成,成功打开VScode
二、用vscode编译调试C\C++
(1)搭建调试环境
- 安装官方C/C++扩展
按ctrl+p调出命令行,在上面输入ext install cpptools
- 如果想要中文界面,在扩展里输入Chinese,安装后重启VScode即可
(2)修改调试模板文件
- 为了使用VSCode调试功能,需要配置launch.json和tasks.json文件,使得VSCode可以编译并启动调试。
- 创建并保存test.c文件
#include <stdio.h>
void ShowRevertNum(int iNum)
{
while (iNum >= 10)
{
printf("%d", iNum % 10);
iNum = iNum / 10;
}
printf("%d\n", iNum);
}
int main(void)
{
int iNum;
printf("Please input a number :");
scanf("%d", &iNum);
printf("After revert : ");
ShowRevertNum(iNum);
}
- 点击界面右边图标第四个,页面顶部出现一个选择面板,选择C++(GDB/LLDB)插件:
- 选择“g++ -生成和调试活动文件”,运行结束后自动生成launch.json文件;
- 然后选择 终端->配置任务 -> C/C++:gcc build active file
- VSCode会自动生成适用于gcc编译的tasks.json文件。
- 在第九行后添加语句:
"${fileDirname}/test.c",
-g参数是必须的,否则到时候没有调试信息,vscode会无法设置断点。
(3)进行可视化调试
- test.c是一个反向输出的程序,比如输入123,输出321
但是,在输入100的时候却输出了010,下面进行调试查看问题所在。
- 首先设置断点
- 开始单步调试**(注意单步调试的时候不要跟踪进入到printf函数内部,而是跳过这个函数,next到下个指令)**
- 进过逐步调试发现,iNum在等于10的时候就跳出了循环,所以我们需要把循环的条件改为 iNum >= 10即可。
- 修改后的结果
- 结果正确输出
三、总结
通过这次的练习我掌握了使用VScode进行可视化的调试,之前我也试用过GDB调试,两者对比下来的话VScode的调试更加地简单易懂,适合新手小白上手。