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

    文章

    572

    浏览量

    33892
  • 源码
    +关注

    关注

    8

    文章

    633

    浏览量

    29134
  • 代码
    +关注

    关注

    30

    文章

    4741

    浏览量

    68323
收藏 人收藏

    评论

    相关推荐

    C语言与C++的区别

    在很大程度上,C++C的超集,这意味着一个有效的C程序也是一个有效的C++程序
    发表于 09-16 10:20 1128次阅读

    C++那些事之高效率开发C++/C

    目前开发C++/C用的比较多的当属Vim、VS code、CLion。
    发表于 11-25 14:02 501次阅读

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

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

    c++程序设计教程

    C++是一种高效应用的程序设计语言,它即可进行过程化程序设计,也可进行面向对象程序设计,因而成了编程人员最广泛使用的工具。学好C++,很容易
    发表于 04-08 00:36 124次下载
    <b class='flag-5'>c++</b><b class='flag-5'>程序</b>设计教程

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

    C/ C++/ Java 程序设计经典教程》(Deitel 著) ●集作者几十年程序设计经验之精华,从软件工程的原理强调结构化程序设计方
    发表于 04-08 02:10 398次下载

    c++程序设计语言题解

    c++程序设计语言题解是与Bjarne Stroustrup的《C++程序设计语言》一书配套使用的习题解答,为从《C++
    发表于 09-05 16:00 121次下载
    <b class='flag-5'>c++</b><b class='flag-5'>程序</b>设计语言题解

    c++程序设计习题答案

    本书是与Bjarne Stroustrup的《C++程序设计语言》一书配套使用的习题解答,为从《C++程序设计语言》中精选出
    发表于 09-05 16:21 2次下载
    <b class='flag-5'>c++</b><b class='flag-5'>程序</b>设计习题答案

    面向对象的程序设计(C++

    面向对象的程序设计(C++).面向对象的基本思想 C++C的非面向对象扩充 继承性与派生类 类库和基于C++的良好OOP风格。
    发表于 03-22 14:40 0次下载

    C++程序设计原理与实践

    C++程序设计原理与实践
    发表于 02-28 23:01 0次下载

    C++程序设计上机指导.pdf

    C++程序设计上机指导
    发表于 05-02 10:20 28次下载

    C++入门教程之C++程序设计的课件资料免费下载

    本文档的主要内容详细介绍的是C++入门教程之C++程序设计的课件资料免费下载主要内容包括了:1. 认识C++2. C++的现状和发展3.
    发表于 12-07 08:00 33次下载
    <b class='flag-5'>C++</b>入门教程之<b class='flag-5'>C++</b><b class='flag-5'>程序</b>设计的课件资料免费下载

    C++程序设计教程之C++的初步知识的详细资料说明

    C++程序设计教程之C++的初步知识的详细资料说明包括了:1. 从CC++,2 . 最简单的C++
    发表于 03-14 14:48 31次下载
    <b class='flag-5'>C++</b><b class='flag-5'>程序</b>设计教程之<b class='flag-5'>C++</b>的初步知识的详细资料说明

    C++程序设计的基础知识初步了解C++的资料免费下载

    本文档的主要内容详细介绍的是C++程序设计的基础知识初步了解C++的资料免费下载包括了:1 认识C++,2 C++的现状和发展,3
    发表于 06-10 08:00 25次下载
    <b class='flag-5'>C++</b><b class='flag-5'>程序</b>设计的基础知识初步了解<b class='flag-5'>C++</b>的资料免费下载

    Dev C++的应用程序免费下载

    dBloodshed dev-c++是一个windows下的cc++程序的集成开发环境。它使用mingw32/gcc编译器,遵循c/
    发表于 09-18 08:00 19次下载
    Dev <b class='flag-5'>C++</b>的应用<b class='flag-5'>程序</b>免费下载

    C++编程调试秘笈

    C++编程调试秘笈资料下载。
    发表于 06-01 15:35 14次下载