zoukankan      html  css  js  c++  java
  • 软件调试前的准备工作

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

    必须要做的准备工作

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

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

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

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

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

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

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

    1. 做好代码发布分支管理
    2. 准被好符号文件
      如果是Windows上C++/.net开发的,一定要生成好符号文件,甚至是Map文件,且要做好符号版本管理
    3. 做好发布包版本管理
    4. 充分收集用户的相关信息
      应用版本、操作系统、硬件信息,使用流程、日志、注册表等一切相关信息
  • 相关阅读:
    进程线程模型
    操作系统运行机制
    操作系统概论
    排序
    win32消息机制
    win32框架
    map
    deque & list
    vector内部实现2
    蓝桥杯 文化之旅 图论 待复习
  • 原文地址:https://www.cnblogs.com/yilang/p/12095500.html
Copyright © 2011-2022 走看看