U盘PE| w764位旗舰版下载 | U盘装win7系统 | U盘启动 |win7pe | win10下载 |加入收藏土豆PE官网U盘PE,U盘装win7系统,win7pe,U盘启动,U盘装系统,w764位旗舰版下载站!
当前位置:主页 > 帮助中心 > 常见问题解答 >

【C语言】实用调试技巧与const函数提升代码健壮性

来源:http://www.tudoupe.com时间:2022-05-03

大家好 我是作者 我对大友很生气
Madonna Otomo的个人网站。
你介意我们不迷路 彼此亲近吗?
福建最近下雨了,外面冷吗?
我希望有更好的一天离开这里。请添加图片描述

在 vs 上一些基本的调试

    • 一,什么是虫子吗?
    • 二,什么是调试?它有多大意义?
      • 二.1 你在调试什么?
      • 2.2 基本调试步骤
      • 3.3 两项调试和释放导言
    • 三. Windows 环境调试概览
      • 三.1 建立调试环境
      • 3.2 学会快捷键
      • 三. 检查关于调试的最新程序信息 。
    • 四,为了取得进步,多做点工作,努力解决困难。
    • 五. 几个调试实例
      • 5.1 实例一
      • 5.2 实例二
    • 六. 如何写好(容易调试)代码。
      • 6.1 良好编码:
      • 6.2 示范:
        • assert函数
        • const修改
        • const修饰指针
        • 小型演习利用上述信息来完成 My_streen 函数。
    • 七. 经常发生方案规划错误
        • 7.1 编译型错误
        • 7.2 链接型错误
        • 7.3 运行时错误

一,什么是虫子吗?

初步调查结果造成计算机错误,这是第一个由飞蛾引入计算机的计算机软件故障。

二,什么是调试?它有多大意义?

必须记录所发生的一切,如果没有罪行,就没有必要隐瞒,如果没有良心,就没有证据。
需要掩盖,有迹象, 指标越多, 越简单,这就是逻辑。
遵循这条道路是一种犯罪,而违背这条道路就是真理。

良好的编码器也是一个很好的调查员。

每一次调试会议都是试图解决问题。

我们怎么写代码?
在这里插入图片描述
请添加图片描述

我们如何处理出现的问题?
在这里插入图片描述
因为迷信的调戏而被拒绝!

二.1 你在调试什么?

检测和减少计算机程序或电气仪表设备中的程序称为调试(英文:调试/调试)。
错误的一个过程。

2.2 基本调试步骤

  • 发现程序错误的存在
  • 错误的偏差等值, 消除等 。
  • 确定错误产生的原因
  • 提出更正错误的备选办法
  • 纠正软件错误后重新测试 。

3.3 两项调试和释放导言

Debug通常称为调试版本 它包含调试信息,但并不优化使调试程序更容易为程序员所用。
称为 " 编号 " 的释放*发布版本 它经常得到改进,使软件在代码大小和执行速度方面是理想的,使用户能够很好地利用它。

三. Windows 环境调试概览

三.1 建立调试环境

在这里插入图片描述
选择环境中的调试选项以正确调试代码 。

3.2 学会快捷键

以下是最常用的捷径:
F5

开始调试, 通常用于跳转到下一个断点 。

F9

创建断点和取消断点
分级厅发挥着关键作用,因为可以在过程的任何时候设定分级厅。
这将使程序在预定时停止,然后分阶段实施。
程序在该职位上实施断点的做法将终止,而首要工作是避免重复调试。
中断点窗口:中断点也可以插入整个程序执行过程,可以取消或停止如下:
在这里插入图片描述
如果我们运行程序一万次 并且认为第100次我们会有问题, 我们是否应该一劳永逸地执行它, f10, f11?
显然,这不是理想的。你可以在断点后直接设定条件。
在这里插入图片描述在这里插入图片描述

F10

按程序进行的程序通常用于处理函数或声明可以援引的程序。
当您遇到函数时,您要直截了当,并且不要在代码中输入任何调试。

F11

逐项声明, 每次都是一则声明, 然而这条捷径让我们的行刑逻辑 能够包含在功能内( 这很重要 ) 。
长用的)。

CTRL + F5

如果您想要应用程序运行而不被调试, 启动时不要调试 。

我将采取更多的捷径。

三. 检查关于调试的最新程序信息 。

一定是要在程序执行中如果有一个断点,或者如果有一个断点,或者如果有一个断点,或者有一个断点,或者一个断点,或者一个断点,或者一个断点,或者一个断点,或者一个断点,或者一个断点,或者一个断点,或者一个断点,或者一个断点,或者一个断点,或者一个断点,或者一个断点,或者一个断点,或者一个断点,或者一个断点,或者
在这里插入图片描述
在这里插入图片描述‘’88

使用观察窗口可以观察到某些合理的短语。
在这里插入图片描述
可自动看到的数据在自动窗口中显示。
观察窗户越来越常见。
在这里插入图片描述
本地变量: 当程序执行到当前位置时, 环境的本地变量向上和向下
在这里插入图片描述
内存:
记忆数据是16英尺长的。
汇编者将案文分为两部分。
在这里插入图片描述在这里插入图片描述

反向 : (从右键单击菜单中选择反向)
这是一个汇编代码 已经被翻译成所有的 c语言代码。
在这里插入图片描述
在这里插入图片描述
**调用堆栈 **
保持从上到下对组件的注意。 事件以顶端的结束结束 。 @ info: whatsthis
在这里插入图片描述

四,为了取得进步,多做点工作,努力解决困难。

  • 必须精通调试程序。
  • 初生者可以花80%的时间创建代码,20%的时间调试,而程序员可以花20%的时间写作。
  • 程序,但调试需要80%的时间。
  • 我们所谈论的只是一些基本的调试
  • 今后可能会出现复杂的调试情况,例如调试多线应用程序。
  • 更多地使用捷径来提高效率。

五. 几个调试实例

5.1 实例一

获得代码:请求 1 + 2 + 3 + n! 不考虑溢流。

如果我们当时是3岁,我们本来预期出口9个,但实际产量为15个。
我们必须在这里提出我们的问题。

  • 第一步是猜测问题的原因,最好先初步确定问题的潜在原因。
  • 在现实中,需要进行亲手检查。
  • 当我们调试时 我们知道我们在做什么

在这里插入图片描述
在调试过程中,发现Rit在修理时没有清空。
在这里插入图片描述

5.2 实例二

典型的阵列在此结束 。
在这里插入图片描述
以下是越界赋值
在这里插入图片描述
再执行一步
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
i 和 Arr 数组之间是否有两个空地址?
空空一个或两个,或更多,或更多,甚至更多,也许不可行,只是巧合的是,这个问题是空白的,主要是因为汇编者使用2019年,而汇编者则使用2019年。

修改方法
如果我是首先定义Arr,我就不会犯这个错误。
因为储存区是利用高位数和低位数空间生成的。

然而,人们仍然会说,数字集团跨越边界,但令人惊讶的是,它们以前没有这样做,它们如何能够这样做?
请添加图片描述
哈哈,之前的代码还没有更新 因为打印他的死亡循环是没有错的 如果是错的话,就是错的

六. 如何写好(容易调试)代码。

6.1 良好编码:

  1. 代码运行正常
  2. bug很少
  3. 效率高
  4. 可读性高
  5. 可维护性高
  6. 注释清晰
  7. 文档齐全

大众编码方法包括:

  1. 使用assert
  2. 尽量使用const
  3. 养成良好的编码风格
  4. 添加必要的注释
  5. 避免编码的陷阱。

6.2 示范:

spcy 是一个模拟实现库函数 。
Strcpy 函数运行如下 。
在这里插入图片描述

以下是一些我们为我们自己创造的模拟。

就这么完了吗?
在这里插入图片描述
因为最高代码有一个Const, 并返回字符* 类型, 而当一个空值被提供时, My_strcpy (NULL, arr2) 代码将会崩溃 。
因此,至少可以优化三样东西。

assert函数

当发现一个空间值时,它的行为方式相似,提供了错误的行号。
在这里插入图片描述

const修改

为什么包括康斯特?
如果在前一个问题(*src++ = * test++)期间的条件得到满足,
我们试图交换的价值是倒置的, 导致交易中一连串的跨界异常, 当我们写出代码时, 编译者是对的, 所以我们遇到很多麻烦 来回的改变。

const修饰指针

仔细观察以下代码

这个代码与Const的原意相矛盾 无法改变
竟然用指针改掉了

总结助记:

小型演习利用上述信息来完成 My_streen 函数。

七. 经常发生方案规划错误

7.1 编译型错误

立即查看错误提示信息( 双击), 然后纠正问题。 它很简单 。

7.2 链接型错误

检查错误提示信息, 在错误信息中发现身份, 主要是在代码中, 然后查找问题。 识别符通常是错误的名称 。
存在或者拼写错误。

7.3 运行时错误

通过调试渐进定位。 这是最困难的方面 。

Copyright © 2012-2014 Www.tudoupe.Com. 土豆启动 版权所有 意见建议:tdsky@tudoupe.com

土豆系统,土豆PE,win7系统下载,win7 64位旗舰版下载,u盘启动,u盘装系统,win10下载,win10正式版下载,win10 RTM正式版下载,win8下载,电脑蓝屏,IE11修复,网络受限,4K对齐,双系统,隐藏分区,系统安装不了,U盘装系统,笔记本装系统,台式机装系统,diskgenius运用,GHSOT装系统,U盘修复,U盘技巧,U盘速度,U盘不能格式化,U盘复制发生错误,U盘加密,U盘选购,开机黑屏,蓝屏,进不了系统,上不了网,打不开程序,点击无反应,系统设置,PE个性化,PE添加网络,PE维护系统

点击这里给我发消息