GDB调试
概述: GDB是UNIX下强大的调试工具,如果在UNIX下调试C/C++程序,GDB会比IDE的调试工具更好使。 要调试C/C++的程序,首先在编译时,我们必须要把调试信息加到可执行文件中。使用编译器(cc/gcc/g++)的 -g 参数可以做到这一点。如: 如果没有-g,你将看不见程序的函数名、变量名,所代替的全是运行时的内存地址。当你用-g把调试信息加入之后,并成功编译目标代码以后,让我们来看看如何用gdb来调试他。 启动gdb 启动GDB的方法有以下几种: 1、gdb <program> program也就是你的执行文件,一般在当然目录下。如果你需要带 argv[] ,则需要选项 -args 2、gdb <program> core 用gdb同时调试一个运行程序和core文件,core是程序非法执行后core dump后产生的文件。 3、gdb <program> <PID> 如果你的程序是一个服务程序,那么你可以指定这个服务程序运行时的进程ID。gdb会自动attach上去,并调试他。program应该在PATH环境变量中搜索得到。 GDB实现的功能: 按自定义的要求来运行程序。 可让被指定的程序在你所设置的断点处停住 当程序被停住时,检查你的程序中所发生的所有事。 动态低改变运行环境 可能从这几点你会觉得和IDE的调试没什么两样