vscode运行c语言并调试,vscode启动调试怎么做

首页 > 经验 > 作者:YD1662022-11-14 04:23:06

这就是使用Code Runner插件运行程序的方法,点击右上角的垃圾桶图标可以直接结束程序运行

vscode目前的集成终端存在这样一个问题,如果当前输入法是中文状态,直接输入数字时会卡住好长一会,解决方法是输入前先切换的英文输入状态,最好是在输入法设置中将首选项设置为英文

vscode运行c语言并调试,vscode启动调试怎么做(13)

Code Runner执行的指令可以修改,可以将默认使用的gcc/g 换成clang等,确实有需要的请看:修改Code Runner指令


下面将描述通过命令行指令编译运行程序的过程,刚接触的初学者在有些地方不明白也没关系,但希望你也能认真的看一遍


上面介绍的是一种偷懒的方法,它存在局限,看一个例子

假设说我们在代码中使用了 winsock2.h这个头文件,我们用刚刚的Code Runner插件的方式编译会无法通过

#include <winsock2.h> #include <stdio.h> int main(){ SOCKET client_socket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); printf("Compile successfully!"); }

vscode运行c语言并调试,vscode启动调试怎么做(14)

造成问题是原因是:Code Runner是按照预先设定好的规则(默认为mingw也就是gcc/g xxx.cpp -o xxx),自动在终端执行编译运行的指令,也就是图片上红色下划线标注出的

C:\Users\tangm> cd "c:\Users\tangm\Desktop\" ; if ($?) { g Untitled-1.cpp -o Untitled-1 } ; if ($?) { .\Untitled-1 }

如果是使用了winsock2.h,同时又是使用gcc/g 编译,在编译时我们应该在编译指令中额外添加-lwsock32指令,而Code Runner模板中并没有这条指令

即完整的编译指令应该是:

g xxx.cpp -o xxx.exe -lwsock32

为了解决这个问题,我们必须使用原始而科学的方法,直接在集成终端上用命令行编译和运行,vscode拥有一个集成终端,在集成终端上编写指令就相当于在cmd(win7默认)或者powershell(win10默认)等系统终端上编写指令

按 Ctrl ~ 打开集成终端(其实是"`",打"~"是为了方便大家找到),先用cd命令切换到源文件所在的文件夹(我的在桌面),再使用gcc/g 编译为可执行程序,最后运行程序,如果暂时不是很懂命令行,可以稍微学一下或者直接跳过这里

vscode运行c语言并调试,vscode启动调试怎么做(15)


三、调试程序

当程序遇到匪夷所思的BUG时,我们可以单步调试来定位错误,vscode拥有非常人性化的调试功能,支持添加断点,添加监视,显示鼠标指向变量的值,调试控制台查询变量值,详细细节我录制了一个演示视频,为了便于演示,我编写了一个常规的快速排序,从小到大排序十个数,仅仅是为了便于演示调试功能,初学者不理解不要紧,对于熟悉算法的同学就让你见笑了

使用vscode调试程序示范

更加高清的视频可以看上传到b站的版本

https://www.bilibili.com/video/av63356142​

www.bilibili.com

下面开始正式配置调试环境

首先在电脑上你习惯的位置新建一个文件夹,用于存放编写的代码,接下来配置好的调试环境,仅会对存放在这一个文件夹以及文件夹的子目录里程序生效!

务必注意,调试的文件名和文件路径中不能出现中文字符!!否则将无法启动调试!

这是由于调试用到的mingw中的gdb不支持中文路径!并非是vscode的原因,下面是两个错误示范

vscode运行c语言并调试,vscode启动调试怎么做(16)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.