本文共 617 字,大约阅读时间需要 2 分钟。
命令如下
gdb调试编译加上-g参数gcc test1.c -g -o test1进入调试gdb test1开始调试start显示代码list-简写llist 函数名称(查看函数内容)list 行数(查看某行代码)执行下一步next-简写n查看变量print 变量名-简写p进入到某个函数step-简写s设置断点break 行号(gdb中的行号)-简写b全速运行continue-遇到断点会停止-简写b查看断点信息info breakpoints删除断点delete breakpoints 断点编号修改变量的值set var 变量=值程序调用堆栈当前函数之前的所有已调用函数列表,每一个都分配一个“帧”,最近调用的函数在0号帧里backtrace-简写bt切换栈帧frame 1(查看指定栈帧的变量)自动显示display 变量名取消自动显示undisplay 行号(自动显示的行号)查看内存布局x /20 地址x /20 buff-查看buff数组的前20个元素程序非正常退出,如何查看错误?1.ulimit -a 查看core文件是否分配大小2.ulimit -c 1024 创建的core文件大小为1024字节3.gcc test2.c -g -o test2 编译链接得到带有-g选项的可执行程序4../test2 执行程序,会生成core日志文件5.gdb test2 core 打开日志文件,定位错误信息到具体的代码行数
转载地址:http://vyqya.baihongyu.com/