日期:2014-05-16 浏览次数:20518 次
#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