实用调试技巧

简介: 实用调试技巧

目录


  1. 什么是bug?
  2. 调试是什么?有多重要?
  3. debug和release的介绍。
  4. windows环境调试介绍。
  5. 如何写出好(易于调试)的代码。

6.编程常见的错误


1. 什么是bug?

image.png

第一次被发现的导致计算机错误的飞蛾,也是第一个计算机程序错误

2. 调试是什么?有多重要?

所有发生的事情都一定有迹可循,如果问心无愧,就不需要掩盖也就没有迹象了,如果问心有愧,
就必然需要掩盖,那就一定会有迹象,迹象越多就越容易顺藤而上,这就是推理的途径。
顺着这条途径顺流而下就是犯罪,逆流而上,就是真相。

一名优秀的程序员是一名出色的侦探。

每一次调试都是尝试破案的过程

我们是如何写代码的?

image.png

2.1 调试是什么?

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

2.2 调试的基本步骤

  • 发现程序错误的存在
  • 以隔离、消除等方式对错误进行定位
  • 确定错误产生的原因
  • 提出纠正错误的解决办法
  • 对程序错误予以改正,重新测试

2.3 Debug和Release的介绍

Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。
Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优
的,以便用户很好地使用

3. Windows环境调试介绍

3.1 调试环境的准备

vs 编译器中要打开debug

image.png

3.2 学会快捷键

image.png

最常使用的几个快捷键

F5
启动调试,经常用来直接跳到下一个断点处。
F9
创建断点和取消断点
断点的重要作用,可以在程序的任意位置设置断点。
这样就可以使得程序在想要的位置随意停止执行,继而一步步执行下去。
F10
逐过程,通常用来处理一个过程,一个过程可以是一次函数调用,或者是一条语句。
F11
逐语句,就是每次都执行一条语句,但是这个快捷键可以使我们的执行逻辑进入函数内部(这是最
长用的)。
CTRL + F5
开始执行不调试,如果你想让程序直接运行起来而不调试就可以直接使用。

3.3 调试的时候查看程序当前信息

3.3.1 查看临时变量的值

在调试开始之后,用于观察变量的值。

image.png

3.3.2 查看内存信息

在调试开始之后,用于观察内存信息。

image.png

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

  • 一定要熟练掌握调试技巧。
  • 初学者可能80%的时间在写代码,20%的时间在调试。但是一个程序员可能20%的时间在写
  • 程序,但是80%的时间在调试。
  • 我们所讲的都是一些简单的调试。
  • 以后可能会出现很复杂调试场景:多线程程序的调试等。
  • 多多使用快捷键,提升效率

5.如何写出好(易于调试)的代码

5.1 优秀的代码:

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

常见的coding技巧

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

6.编程常见的错误

6.1 编译型错误
直接看错误提示信息(双击),解决问题。或者凭借经验就可以搞定。相对来说简单。
6.2 链接型错误
看错误提示信息,主要在代码中找到错误信息中的标识符,然后定位问题所在。一般是标识符名不
存在或者拼写错误。
6.3 运行时错误
借助调试,逐步定位问题。最难搞。
温馨提示:
做一个有心人,积累排错经验

相关文章
|
6月前
|
程序员
调试技巧vs2022
调试技巧vs2022
|
网络协议 C++
继续分享 5 个实用的 vs 调试技巧
继续分享 5 个实用的 vs 调试技巧
|
搜索推荐 C++ 容器
你很可能需要知道这个调试小技巧
你很可能需要知道这个调试小技巧
|
5月前
|
NoSQL 程序员 Linux
实用调试技巧(1)
实用调试技巧(1)
37 7
|
11月前
|
安全 程序员 Windows
实用调试技巧
实用调试技巧
82 0
|
12月前
|
程序员 编译器
实用调试技巧(上)
实用调试技巧
|
C++ 索引
再分享 5 个 vs 调试技巧
再分享 5 个 vs 调试技巧
|
程序员 编译器
|
程序员 编译器