《软件调试》学习笔记——003 (第一章 软件调试基础 part1)
软件调试的分类:
- 按操作系统,可分为Windows下的调试、linux下的调试、dos下的调试....
- 按目标代码的执行方式,分类:
本书主要讨论本地调试(Native Debugging)。注意这里的"本地"不是和远程调试相区分的"本地" - 按被调试程序运行的模式,可分为用户态调试和内核态调试。
- 按调试器与调试目标的位置,分为本机调试(Local Debugging)和远程调试(Remote Debugging)。
远程调试一般用于调试内核和嵌入式系统。
题外话,WinGDB(注意,不是WinDBG,Widows的Debugger;而是WinGDB,Windows下的GDB。)支持以图形界面的方式远程调试linux程序。如果你习惯了VisualStudio类的图形界面调试...那么WinGDB是你摆脱命令行gdb调试linux程序的好选择。不多说,感兴趣的自己去www.wingdb.com看。 - 此外,还有一种分类:使用调试器和不使用调试器的调试.不使用调试器的调试手段主要有:调试信息输出(TRACE),日志文件,观察内存/文件。不得不提到的是,在产品级的软件中,日志是一种很重要的分析手段。能够将客户环境下的软件异常信息有效的反馈给开发者。将日志和crash dump结合起来分析问题,往往能达到事半功倍的效果。