赞
踩
调试可执行文件。
如果需要使用gdb调试程序,请在gcc时加上-g选项。
调试可执行文件的时候,执行gdb <program>。我们这里生成一个hello的可执行文件,执行命令为gdb hello。
gdb也可以调试core文件。
首先介绍一下core文件的产生,当一个程序在执行的时候出现段错误的时候,但是没有在执行目录生成core文件,这时可以ulimit -c看一下。
ulimit -c 显示核心转储文件大小的最大值,这里是零:禁止核心转储。
这时候我们执行ulimit -c unlimited,再来执行一次可执行文件,这时候我们可以看到有core文件产生了。
gdb也可以调试运行中的程序,也就是服务程序。
如果你的程序是一个服务程序,那么你可以指定这个服务程序运行时的进程ID。gdb会自动attach上去,并调试他。
gdb运行进入调试模式后,可以使用下列的基本命令来进行操作。
这里我们以hello可执行程序调试为例。
执行gdb hello进入调试模式后,执行r就可以运行该程序了,但是我们通常不会直接这样做,一般在调试的时候我们都是先设置断点,使用b加行号的模式,设置断点后,在执行r,程序就会卡在加入断点的那一行。
使用命令p加某个变量名,可以查看变量的值、堆栈情况等。
6
下面是一些经常用到的命令:
观察变量:(gdb) watch n
在某一循环处,往往希望能够观察一个变量的变化情况,这时就可以键入命令"watch"来观察变量的变化情况,GDB在"n"设置了观察点。
单步运行:(gdb) n
程序继续运行:(gdb) c
使程序继续往下运行,直到再次遇到断点或程序结束;
退出GDB:(gdb) q
END
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。