1.GDB:GNU项目中的调试器(GNU debugger)
(1)能够跟踪程序的执行;
(2)能够恢复程序崩溃前的状态;
2.为什么需要GDB?
(1)软件不是一次性开发完成的(是软件就有bug,是程序就有问题)
(2)调试是开发过程中不可或缺的技术(调试技术很重要)
3.GDB的常规应用
—自定义程序的启动方式(指定影响程序运行的参数。命令行参数的本质就是main函数的参数)
—设置条件断点(在条件满足时,暂停程序的执行)
—回溯检查导致程序异常结束的原因(core dump)
—动态改变程序的执行流(定位问题的辅助方式),比如说跳过某一行的执行
调试工具分为静态分析工具和动态分析工具。静态分析工具它们的目标是可执行程序文件。GDB是动态分析工具,它关注的是内存中正在执行的进程。