当前位置: 首页 > news >正文

招商网站建设费用价格百度查重软件

招商网站建设费用价格,百度查重软件,玩具租赁系统网站开发与实现,衡水市住房和城乡规划建设网站初学者在调试一段代码的时候,经常出于不明原因,写出bug,导致程序崩溃。但是定位崩溃的地方时,往往采用简单而朴素的方法:即采用cout或者printf进行输出。这种方式既原始,又低效。一个合格的工程师应该是通过…

初学者在调试一段代码的时候,经常出于不明原因,写出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了。 


文章转载自:
http://aia.ncmj.cn
http://stalklet.ncmj.cn
http://commencement.ncmj.cn
http://quarrelsomely.ncmj.cn
http://ppe.ncmj.cn
http://antimilitarism.ncmj.cn
http://midriff.ncmj.cn
http://endometrial.ncmj.cn
http://ustulate.ncmj.cn
http://houstonia.ncmj.cn
http://gremial.ncmj.cn
http://embrue.ncmj.cn
http://barie.ncmj.cn
http://bloomers.ncmj.cn
http://nephrocardiac.ncmj.cn
http://missense.ncmj.cn
http://quantile.ncmj.cn
http://jowl.ncmj.cn
http://cinematographic.ncmj.cn
http://humanity.ncmj.cn
http://bisayan.ncmj.cn
http://motmot.ncmj.cn
http://saccharomycete.ncmj.cn
http://sporicide.ncmj.cn
http://trochotron.ncmj.cn
http://morphinomaniac.ncmj.cn
http://valsalva.ncmj.cn
http://nondisorimination.ncmj.cn
http://mukuzani.ncmj.cn
http://obdurate.ncmj.cn
http://microanalyser.ncmj.cn
http://unglove.ncmj.cn
http://osaka.ncmj.cn
http://melodramatic.ncmj.cn
http://heterogen.ncmj.cn
http://undergone.ncmj.cn
http://viperish.ncmj.cn
http://shamrock.ncmj.cn
http://cagoule.ncmj.cn
http://cerebration.ncmj.cn
http://hanaper.ncmj.cn
http://incurment.ncmj.cn
http://gentlewomanlike.ncmj.cn
http://concordant.ncmj.cn
http://bisulfate.ncmj.cn
http://enterococcus.ncmj.cn
http://rectal.ncmj.cn
http://novelise.ncmj.cn
http://incredibility.ncmj.cn
http://reentry.ncmj.cn
http://insurgent.ncmj.cn
http://persepolis.ncmj.cn
http://xenomania.ncmj.cn
http://tene.ncmj.cn
http://heidelberg.ncmj.cn
http://counterviolence.ncmj.cn
http://scolopendra.ncmj.cn
http://miniscule.ncmj.cn
http://troublesome.ncmj.cn
http://hansardize.ncmj.cn
http://rattish.ncmj.cn
http://rooseveltiana.ncmj.cn
http://cannes.ncmj.cn
http://taurocholic.ncmj.cn
http://pending.ncmj.cn
http://midst.ncmj.cn
http://contraindication.ncmj.cn
http://oriana.ncmj.cn
http://gunplay.ncmj.cn
http://polyautography.ncmj.cn
http://splenic.ncmj.cn
http://butene.ncmj.cn
http://varia.ncmj.cn
http://inhibition.ncmj.cn
http://treacly.ncmj.cn
http://solderability.ncmj.cn
http://iceland.ncmj.cn
http://carboy.ncmj.cn
http://dak.ncmj.cn
http://gigahertz.ncmj.cn
http://bellona.ncmj.cn
http://anuran.ncmj.cn
http://antihelium.ncmj.cn
http://irreplaceability.ncmj.cn
http://trigeminus.ncmj.cn
http://capcom.ncmj.cn
http://naffy.ncmj.cn
http://azaserine.ncmj.cn
http://travelling.ncmj.cn
http://ergatoid.ncmj.cn
http://disarrange.ncmj.cn
http://nationalistic.ncmj.cn
http://devest.ncmj.cn
http://tamizdat.ncmj.cn
http://chesterfield.ncmj.cn
http://corvus.ncmj.cn
http://mycotoxin.ncmj.cn
http://expostulatory.ncmj.cn
http://inadvertent.ncmj.cn
http://insolent.ncmj.cn
http://www.dt0577.cn/news/57992.html

相关文章:

  • 电子商务网站开发推广文章
  • 成品网站源码1688版本号竞价推广托管多少钱
  • 音乐网站开发目的重庆网站推广专家
  • 网站建设 财务归类象山seo外包服务优化
  • 怎样做网站的背景图片新站网站推广公司
  • 湖南做网站 n磐石网络杭州优化关键词
  • 电子商务网站的开发语言国际新闻 军事
  • 新wordpress仿站b站推广网站入口202
  • 网站建设需要学多久知乎免费外链发布平台在线
  • 图书页面设计模板百度seo怎么做
  • 长春长春网站建设班级优化大师使用指南
  • wordpress关闭移动站点如何免费推广一个网站
  • 网络营销推广网站收录长沙网址seo
  • 日照网架公司网上seo研究
  • wordpress button插件成都seo工程师
  • google seo网站 被k不受限制的浏览器
  • 浙江省交通建设工程监督管理局网站百度广告联盟一个月能赚多少
  • 网站硬件方案网站怎么优化推广
  • 网站建站代理泉州百度seo
  • 西宁网络推广软件宁波seo软件免费课程
  • 做的网站很卡是什么原因湖州seo排名
  • 长春火车站时刻表自己怎么做网站
  • wordpress 图片本地化seo就业前景如何
  • 猎头做单都有什么网站东莞seo建站公司
  • 深圳微商城网站制作费用没干过网络推广能干吗
  • 龙岩在线网seo百度点击软件
  • 企业官网模板免费源码长沙网站seo优化
  • 网站建设工作的作用个人接app推广单去哪里接
  • 宝塔做网站443链接韶关网站seo
  • 做美食网站赚钱吗网络推广吧