日期:2014-05-16 浏览次数:20603 次
#include <stdio.h>
int main(int argc, char *argv[])
{
int i=0;
for(i; i<10; i++)
{
printf("%d\n", i);
}
return 0;
}
看到上面类似效果,说明GDB成功载入了test可执行文件
return value:停止当前函数,并返回设定的value给调用者
a、列出源码
(gdb) list

b、执行程序
(gdb) run

c、设置断点,并重新执行可执行文件
(gdb) break 6
(gdb) run

可以看到,程序在第6行被挂起了
d、单步执行
(gdb) n
(gdb) n
(gdb) n
(gdb) n
(gdb) n
(gdb) n

可以看到,程序在6-8行之间重复执行
e、监控变量i
(gdb) watch i
(gdb) n

Hardware watchpoint 2:i,表示这是第二个监控点,变量为i
Old value、New value能让你看到变量的变化情况
f、输出变量的值
(gdb) print i

$2,表示第二个监控变量,此处表示变量i,当前值为3
更多关于GDB,可以参看百度百科 http://baike.baidu.com/view/639266.htm