软件调试前的准备工作

Posted yilang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件调试前的准备工作相关的知识,希望对你有一定的参考价值。

在我们对某个问题进行调试前一定要做足准备工作,不然后面的调试工作会面临极大的困难,甚至都无法开展调试工作。

必须要做的准备工作

不管我们是在开发期调试,还是在发布后调试,都要做好如下准备工作:

  1. 充足的心里准备
    这个太重要了,在实际工作中,我见到太多被问题吓怕的人。在还没整清楚问题是什么时就已经打了退堂鼓,把工作和问题给别人。面对任何问题,我们首先要做的就是树立起信心。特别是在计算机的世界里,事出必有因,且一定具有事情的发生的必然逻辑。所以,我们只要有信心就肯定能解决问题。
  2. 编写高质量代码
    程序开发者应该提供高质量的程序代码,包括规 范的代码和必要的注释,对开发的代码进行单元测试, 经过同行严格的代码评审。 这样一是减少问题发生,二是对调试定位问题和问题修改有很大的帮助。
  3. 了解软件的设计和算法,熟悉软件代码
    调试一个软件模块,需要了解它的设计和实现算 法,了解各个函数之间的调用关系,该模块与其他模块 之间的接口关系。
  4. 熟悉软件运行环境
    首先要明白我们软件要求的运行环境。了解用户机的环境,是否满足软件运行要求,排除一些运行环境引起的软件异常。同时随着硬件、操作系统、网络技术、云技术、大数据技术的发展,软件 运行环境越来越复杂,调试者只有熟悉这些环境和环 境配置,才能保证软件正常运行和调试。
  5. 熟悉调试工具
    调试工具提供很多功能来帮助我们调试分析程序,只有熟练掌握调试工具,才能开展我们的调试工作。
  6. 足够的日志输出
    日志的作用不用我多说,如果日志有足够的信息,我们甚至都可以不用调试器,都能定位问题和解决问题。
  7. 知道用户的操作流程
    某些问题更用户的独特使用习惯和操作步骤有关,如果我们不知道,很有可能复现不了问题从而无法解决。

开发过程中的调试准备工作

还在软件的开发过程中,我们就会遇到许多问题和异常,为了解决这些问题,我们需要做如下准备工作:

  1. 了解我们的工程属性配置
    要知道我们的工程属性做了哪些配置,特别是一些特殊的配置,最好知道没一个配置选项对我们程序行为的影响。要知道发生问题前配置有没有做修改,为什么修改。
  2. 知道代码组织结构
    只有知道代码组织结构,我们才能快速定位代码
  3. 准备充分必要的数据
    相当一部分问题可能是数据引起,我们只有有这样的问题数据,才能引发问题和调试定位问题。
  4. 了解代码里使用的第三方库的原理和使用要求
    如果不知道,可能会发生一些莫名其妙的问题,让我们无从下手。

软件发布后问题的调试准备工作

我们在开发时,严格尊搜了代码规范,进行了单元测试,也进行了组织内部的严格测试,但是,当我们的软件发布,功能上线后,用户还是会反馈很多问题,有的问题还非常致命。为了调试这些问题,我们要做如下准备工作:

  1. 做好代码发布分支管理
  2. 准被好符号文件
    如果是Windows上C++/.net开发的,一定要生成好符号文件,甚至是Map文件,且要做好符号版本管理
  3. 做好发布包版本管理
  4. 充分收集用户的相关信息
    应用版本、操作系统、硬件信息,使用流程、日志、注册表等一切相关信息

以上是关于软件调试前的准备工作的主要内容,如果未能解决你的问题,请参考以下文章

模拟电路板调试前的准备工作_电路板的模拟检测

MySQL5.7.22版本的安装和调试

SylixOS 驱动调试软件使用说明

软件开发--调试器GDB

调试利器GDB-上

调试利器GDB-上