软件调试的原则

软件调试的本质就是:确认原则。在调试的过程中,修正充满错误的程序,主要是确认代码的bug,一个个修复。以下介绍一些调试的一些原则:

0x01. 使用自顶向下的方法

通过自顶向下的方法,一步步理清楚程序的执行流程,分析其中可能出错的点。

0x02. 使用调试工具确定断错误的位置

当发生段错误时,执行的第一步操作应该是在调试器中运行程序并重新出发段错误。调试器将指出发生这种错误的代码行。然后,可以通过使用调试器的反向跟踪(backtrace)功能获得其他有用信息,该功能显示导致引发错误的函数的调用序列。
在某些情况下,可能很难重新产生段错误,如果有核心文件,则仍然可以执行反向跟踪以确定产生段错误的情况。

0x03. 通过中断确定无限循环的位置

如果怀疑程序中存在无限循环,则进入调试器并再次运行程序,让该程序执行足够长的时间以进入循环。然后,使用调试器的中断命令挂起该程序,并且执行反向跟踪。

0x04. 使用二分搜索

如果将错误定位在一大片代码中,可以使用二分搜索的思想慢慢减小范围。