0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

VS如何调试C/C++程序

汽车电子技术 来源:C语言Plus 作者:Maye426 2023-02-27 15:15 次阅读

图片

代码调试是程序员必须掌握的一门技巧,掌握代码调试对以后学习,错误排除,源码研究等都有很大的帮助。

前言

再牛的程序员也没法一口气把代码全部写正确,通常做法就是写一小段然后验证代码正确性,再继续写下一段,这样能保证代码不会错得太离谱。怎么衡量一小段代码呢?在你觉得这段代码没有十足把握的情况下就应该停下来验证一下。

调试的本质是确认你认为正确的事情确实是正确的,这次来介绍一下 Vs中调试代码的 N 种姿势

断点调试常用术语

“单步进入”step into:就是单步执行,遇到子函数就进入并且继续单步执行;

“单步执行并跳过”step over:是在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。

“单步执行并返回”step return:就是单步执行到子函数内时,用step return就可以执行完子函数余下部分,并返回到上一层函

数。

“继续执行”:即跳过此断点继续运行。

简单的例子

先来看一个简单的代码,如下,代码很简单,结果显而易见,咱们来调试一下这个代码

图片

1,进入调试

点击菜单栏->调试->逐语句 或者使用快捷键“F11”

图片

进入之后,在main函数的第一行,会出现一个黄色小箭头,代表这此时代码执行到的位置。

图片

接下来继续按"F11",即可逐步执行每行代码了,执行的过程中,我们需要查看变量的值的变化,菜单栏->调试->窗口->局部变量,先点击这个打开局部变量窗口

图片

此时我们会在下面的窗口中看到变量,目前在内存里面的数据及类型

图片

当我们继续执行时,会发现局部变量窗口中的变量的值发生了改变,很直观即可看到结果

图片

当执行到函数调用语句时,会进入函数内部执行,而且局部变量里面会同步显示函数里面的变量信息

图片

函数执行结束,会返回到调用处,而且局部变量窗口会显示返回值信息

图片

这就是逐步调试一个简单的流程,你学会了吗?

逐步调试配合断点

再来看一个简单的代码,如下

图片

如果按"F11"使用单步调试,那么我们需要在循环处,按10次才能执行到printf语句。我们可以结合断点,快速跳过循环。

1,添加断点

把光标移动到需要加断点的行,然后按"F9",或者用鼠标在需要加断点的行前面的灰色区域点一下。

图片

2,跳过循环

首先逐步调试到循环处,然后按"继续"即可直接执行到最近的断点所在的行

图片

点“继续”直接跳转到断点处

图片

图片

3,删除断点

重复添加断点的步骤即可

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 调试
    +关注

    关注

    7

    文章

    527

    浏览量

    33625
  • 源码
    +关注

    关注

    8

    文章

    574

    浏览量

    28589
  • 代码
    +关注

    关注

    30

    文章

    4556

    浏览量

    66806
收藏 人收藏

    评论

    相关推荐

    C++小白自学基础课之简单的C++程序helloworld02

    C++
    电子学习
    发布于 :2023年01月12日 22:27:52

    C++程序设计原理与实践》(C++之父最新力作)

    `《C++程序设计原理与实践》(C++之父最新力作)`
    发表于 08-19 16:30

    c++程序设计

    以下是一些常用的c++程序设计,以处理图片为基础
    发表于 05-08 19:12

    C/ C++/ Java 程序设计经典教程》

    本帖最后由 圈圈7029 于 2014-11-13 11:41 编辑 《C/ C++/ Java 程序设计经典教程》(Deitel 著)●集作者几十年程序设计经验之精华,从软件工
    发表于 11-13 11:22

    c++是用什么来写界面的

    请教大神们,最近在学习c++,想请教一下c++只能写控制台程序吗,或者说基于c++的GUI是用什么写的,据说VS是用
    发表于 10-07 10:44

    C++笔记003:C++从一个小程序开始

    这个先不用太过计较,后面会详细说明。调试程序,发现运行结果跟C语言是完全一样的!看来在C语言中使用的输出函数printf在C++中也是可以使用的!现在我把printf这行注释掉,因为
    发表于 03-05 12:51

    基于Android平台的Linux C/C++应用程序启动

    Studio命令行下载userinfo.txt和C/C++程序到ESM6802  使用Android Studio命令行下载文件到ESM6802,首先需要使用调试线连接PC和目标板的
    发表于 08-24 11:10

    每一位C/C++程序员的调试工具 : GDB (GUN Debugger) 相关资料下载

    每一位C/C++程序员的调试工具 : GDBgdb 介绍gdb 常用命令gdb调试命令列表gdb 调试
    发表于 07-02 07:08

    如何学习C++,如何学好C++

    大家分享下我自己的学习心得与体会!Linus曾说过:“C++是一门很恐怖的语言,而比它更恐怖的是很多不合格的程序员在使用着它”,这个世界上最难的编程语言可能非C++莫属了,呵呵,虽然有点夸...
    发表于 08-20 06:27

    详细讲解C++串口的相关知识

    笔者的开发板是正点原子的stm32F103zet6迷你板。串口的使用是USART1.单片机相关串口的程序就不讲解,编写上位机程序是使用C++语言,在VS2017里面编写,下面进入正题。
    发表于 08-24 06:56

    C语言C++运用

    ,一般将硬件初始化的工作交给汇编,比较复杂的操作交给C语言。③C语言具有很高的运行效率。2.嵌入式开发中的地位——开发工具3.高级语言中的低级语言:面向过程VS面向对象双系统C/
    发表于 11-25 10:47

    如何在ubuntu中用vscode编译调试C\C++

    vscode软件并进行安装:2.等待安装完成之后打开界面如下:2.在ubuntu中用vscode编译调试C\C++在vscode中安装C++的插件,按ctrl+p调出命令行,在上面输入
    发表于 12-14 07:11

    在ubuntu中用vscode编译调试C\C++

    3. 基于跨平台多类型代码编辑器VScode关于在ubuntu中用vscode编译调试C\C++Ubuntu安装vscode图形安装,首先在虚拟机应用商店找到vscode2.点击“安装”进行安装3.安装成功关于在ubuntu中用
    发表于 12-22 08:01

    C/C++嵌入式远程调试怎么实现?

    C/C++嵌入式远程调试怎么实现?
    发表于 12-24 06:24

    Linux使用VScode编译调试C/C++程序的过程是怎样的

    如何安装VScode?Linux使用VScode编译调试C/C++程序的过程是怎样的
    发表于 12-24 06:49