实用调试技巧(C语言)(一)

 

目录

前言:

1、什么是bug?

2、调试是什么,有多重要?

        2.1 调试是什么?

        2.2 调试的基本步骤

        2.3 Debug和Release的介绍

3、windows环境调试介绍

        3.1 调试的环境准备

        3.2 学会相关快捷键


前言:

        细节决定成败,编程是一个需要逻辑十分严谨的工作,稍微一丝的错误都不能容忍。调试是一个程序员必须学会的技能,要保证我们的程序做到完全不出错,才能在计算机中正常运行。

1、什么是bug?

        导致计算机程序出现问题或者不能运行的东西,叫bug,或者叫缺陷。

2、调试是什么,有多重要?

        找bug的过程,就是调试。

        程序出现bug,在程序中一定会有迹象,循着迹象,顺腾摸瓜,就能找到bug的出处。这其实也是一种推理。一名优秀的程序员也是一名出色的侦探。每一次调试都是一次破案的过程。

        我们要拒绝迷信调试,每一次调试都要明白程序的逻辑是什么,我们又为什么要这么改,改完之后的逻辑是什么。而不是靠尝试,靠蒙。

        2.1 调试是什么?

                调试(英文:Debugging / Debug),又称除错,是发现和减少计算机程序或电子一起设备中程序错误的一个过程。

        2.2 调试的基本步骤

                1.发现程序错误的存在

                2.以隔离、消除等方式对错误进行定位

                3.确定错误产生的原因

                4.提出纠错的解决办法

                5.对程序错误予以改正,重新测试

                在正式讲解如何调试前,先聊聊Releas和Debug的区别

        2.3 Debug和Release的介绍

                Debug通常被称为调试版本,它包含调试信息,并不做任何优化,便于程序员调试程序。

                Release被称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。

                在此处可以选择运行什么版本,一般在编程测试阶段我们用Debug运行,因为Debug不进行优化,并且提供了很多调试工具,程序利于调试。在发布程序时(程序没有问题,给用户使用时),就用Release版本,因为Release版本对程序进行了优化,方便用户使用。

                选择Debug运行,会产生Debug文件夹,选择Release运行,会产生Release文件夹。两个文件夹中都放着一个exe文件,exe可以发给别人用。

                像我上面这个Release文件夹里面放了一个“井字棋”和“game1”的两个exe文件,其实这两个是一样的,只是我当时复制了一份然后重命名了,你们用Release运行后Release文件就只会有一个exe文件,这个文件就是你当前代码的执行文件,可以直接发给你的朋友。像我编程了一个井字棋游戏,我可以发给我的好友,也可以发到csdn资源,我的第一篇csdn就时井字棋,里面就是附上的这个文件,可以直接运行。

3、windows环境调试介绍

        3.1 调试的环境准备

                用Debug版本

        3.2 学会相关快捷键

        最常用的快捷键:

        F5

                启动调试,经常用来直接跳到下一个断点处。

        F9

                创建断点和取消断点

                断点的作用很重要,我们可在在程序的任意位置设置断点(与F5配合使用),这样可以使程序在我们想要的位置停止运行,然后可以进行单步调试(用F10或F11单步调试)。

这个红点就是断点。

        F10

                逐过程,通常用来处理一个过程,一个过程可以是一次函数调用,或是一条语句。

        F11

                逐语句,就是每一次都执行一条语句,但是这个快捷键的关键是可以进入函数内部(这是最常用的)。

按一次F5-->按一次F10-->        

                可以看到黄色箭头向下走了一格,意思是程序现在执行了一条语句,如果此时再按一次F10,程序会直接结束。此时想进入Add函数的话,需要按一次F11。

        此时按了一次F11,黄色箭头指向了Add函数里面,程序进入到了Add函数。

        Ctrl+F5

                开始执行,不调适。(断点处不停)如果你不想要调试想直接运行程序,可以使用这个。

        以上是常用的调试常用快捷键,如果想了解更多快捷键可以去找相关文章了解哦。如果说发现按F5、F10.......没反应的话,又可能是因为你的电脑有fn案件,需要按住fn再按F5、F10.....

        3.3 调试的时候如何去查看当前的信息

                3.3.1 查看临时变量的值(最常用)

                首先,我们要让程序运行起来,先编好程序,按F10,然后找到调试-->窗口-->监视-->监视1.如下图:

                        

                右边就会出现这样的窗口

在这个窗口我们可以输入我们想观察的变量,比如我们程序中有一个变量a我想知道它是怎么变化的,我就可以在这里面输入a,然后按F10一步步运行,就能知道a是怎么变化的了。

                3.3.2 查看内存信息

        如果你想查看内存,那我们有另外一个窗口:在程序运行起来后,点击调试-->窗口-->内存-->内存1

                内存存放的地址按照16进制显示:

                会出现右边的窗口,将列的自动调成4,表示设置一行表示4列,这样方便观察。

                想看a的内存内容,在地址处输入&a即可。

                3.3.3查看调用堆栈

                选择调试-->窗口-->调用堆栈

   它就在下面显示,你可把他拖到右边。在这个窗口里面你可以右键选择“显示外部代码”,这样可以显示更多的内容。

                3.3.4 查看汇编信息

                点击:调试-->窗口-->反汇编

                3.3.5 查看寄存器信息

                先运行,然后选择:调试-->窗口-->寄存器

这样就可以看到寄存器的信息

4、多动手,尝试调试,才能有进步

        纸上得来终觉浅,绝知此事要躬行。一定要自己在实际中去不断尝试,才能慢慢学会如何调试。

        以上只是基础调试的方法,在以后一定会碰到很多复杂的问题,这需要我们通过实践去提升自己的能力。

        多使用快捷键,提升效率。

相关推荐

  1. C语言入门学习 --- 8.实用调试技巧

    2024-02-20 13:14:03       22 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-20 13:14:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-20 13:14:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-20 13:14:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-20 13:14:03       18 阅读

热门阅读

  1. 使用Hutool的ExcelUtil工具导出Excel时遇到的异常

    2024-02-20 13:14:03       29 阅读
  2. nodename nor servname provided, or not known

    2024-02-20 13:14:03       29 阅读
  3. Python实用代码片段(二)

    2024-02-20 13:14:03       33 阅读
  4. 机器人能否返回原点

    2024-02-20 13:14:03       32 阅读
  5. 16.Swift枚举

    2024-02-20 13:14:03       27 阅读
  6. 什么是SEO?和SPA与SSR又有什么关系?

    2024-02-20 13:14:03       36 阅读
  7. Excel表的内容批量生成个人加水印的Word文档

    2024-02-20 13:14:03       24 阅读
  8. leetcode3043. 最长公共前缀的长度

    2024-02-20 13:14:03       29 阅读
  9. 【IOS】import导入模块或头文件错误

    2024-02-20 13:14:03       27 阅读