软件调试前的准备工作

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

必须要做的准备工作

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

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

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

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

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

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

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

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

原文地址:https://www.cnblogs.com/yilang/p/12095500.html

时间: 2024-10-07 20:01:37

软件调试前的准备工作的相关文章

读《软件调试》第九章

Tomcat源码学习前的准备工作 注:由于网上的帖子大部分没有配套的图片和错误的分析,所有费了半天劲整理了此篇博客,希望大家少走弯路吧 下面我们就开始我们的Tomcat源码学习之旅. 1. 下载Tomcat6.0的源代码 首先,我们得下载Tomcat6.0的源代码.Tomcat源代码的版本控制工具不是CVS,而是Subversion,如果您的机器上没有安装Subversion,请从http://subversion.tigris.org/servlets/ProjectDocumentList?

通过迁移的方式解决Active Directory服务器问题之1-迁移前的准备工作

前言 "重装是最好.最快的解决方法".在使用Windows操作系统一段时间之后,尤其是经常频繁打补丁.升级.添加删除软件后,系统会比较慢,有的可能会出现一些"莫名其妙"的问题,这个时候,果断备份.重装.恢复系统,是我们经常做的方法.但是,企业网络中的服务器,如果使用几年之后出问题,你能下定决心重装吗?如果重装,怎么重装才能不丢失数据.在重装过程中不影响使用.本文通过一个具体的案例,介绍通过迁移的方法彻底解决Active Directory服务器存在问题的方法. 正文

功耗调试之调试前准备

功耗调试之调试前准备 2014年12月17日 一.基本的概念 什么是功耗测试? 功耗测试是指通过使用各种工具(主要是示波器.电流表.电压表)对设备的各种功耗状态下的各个模块的电流进行测量,再对测量结果进行分析,找出不合理的模块,修改硬件或者软件后再测量,以尽可能的降低整板的功耗,延长电池的使用时长. 为什么要使用测量电流的方式来代表功耗情况呢? 电功为W=Pt=UIt,其中W为电功,P为功率,t为时间,U为电压,I为电流.在电压稳定的情况下,我们可以用电流来反映功率的大小,其中It的单位可以看成

[转]微信公众平台(测试接口)开发前的准备工作(转载自walkingmanc的专栏)

本文转自:http://blog.csdn.net/jiangweicpu/article/details/21228949 http://blog.csdn.net/walkingmanc/article/details/21457097第二讲 探秘微信公众号 1.   申请微信公众号 我们要进行微信公众平台的开发,第一步当然是要有公众号了.什么?不知道什么是微信公众号,看来你还要先回炉炼炼了,呵呵.通俗的说,我们微信平台就好像是一个大社会,里面有个体人,也有各种组织机构.你自己使用的普通微信

tomcat源码分析前的准备工作

Tomcat源码学习前的准备工作 注:由于网上的帖子大部分没有配套的图片和错误的分析,所有费了半天劲整理了此篇博客,希望大家少走弯路吧 下面我们就开始我们的Tomcat源码学习之旅. 1. 下载Tomcat6.0的源代码 首先,我们得下载Tomcat6.0的源代码.Tomcat源代码的版本控制工具不是CVS,而是Subversion,如果您的机器上没有安装Subversion,请从http://subversion.tigris.org/servlets/ProjectDocumentList?

<读书笔记>软件调试之道 :从大局看调试-理想的调试环境

声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! ----------------------------------------------------------------------------------------------------- 自动化测试 1.有效的自动化测试 明确说明测试结果是否通过 不需要安装.测试后也能够撤销对环境所做的任何修改 单击运行所有的测试 全面覆盖,做到足够解决完全覆盖是可能的 2. 自动化测试

&lt;读书笔记&gt;软件调试之道 :从大局看调试-零容忍策略

声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! -------------------------------------------------------------------------------------------- 缺陷优先 如何使缺陷修复与软件开发相结合? 如何估计缺陷修复花费的时间? 如何确保项目不会陷入<人月神话>中所描述的无数缺陷修复的焦油坑中呢? 缺陷优先 要采用早起缺陷修复原则,并且基于以下两

&lt;读书笔记&gt;软件调试之道 :问题的核心-修复后的反思

声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! -------------------------------------------------------------------------------------------------- 有时尽管修复设计的是一个孤立的代码区,但你还是需要大局观,在修复缺陷之后花时间反思一下! 一旦确定了错误的来源,就可以采取措施避免它再发生!有些情况下,只不过是告诉你未来在在这一方面要更加小心

[深入理解Android卷一全文-第一章]阅读前的准备工作

由于<深入理解Android 卷一>和<深入理解Android卷二>不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的全部内容. (出版社排版好的PDF版正在向出版社申请,到时候会通过CSDN下载资源发布) 第一章  阅读前的准备工作 本章主要内容 本章简单介绍Android系统架构.编译环境的搭建以及一些工具的使用. 1.1  系统架构 1.1.1  Android系统架构 Android是Google公司推出的一款手机开发平台.该平