调试c程序

笔记:摘自网上。

#一般流程:
首先要在gcc中用 -g参数生成调试信息例: gcc -g test.c -o test;
运行gdb并装入test: gdb test
使用gdb中的list命令(可简写成l)列出源码清单:l并回车
在gdb中如果不输入任何命令直接按回车则重复执行上次命令
在某行设置断点,如在每12行设置断点:break 12
在某个函数入口处设置断点,如在func函数入口处设置断点:break func
查看断点信息:info break
运行程序:r
运行程序后单条语句执行程序:n (也可打命令的全称next),使用s命令单步执行会进入子函数内部
继续执行程序:c
打印变量的值:p (也可打命令的全称print)
查看函数堆栈:bt
退出函数:finish
退出gdb:q
删除断点:delete breakpoint 1;delete breakpoint 删除所有断点;
暂时中止程序执行,再设置一个断点后再执行:CTRL+C,然后break,再按C键
监视一个变量的变化情况,只要这个变量有变化就提示:watch 变量名
装入要一个可执行文件:file
终止正在执行的程序:kill

在gdb中输入命令的前几个字符后按tab键,系统会自动补全命令或列出所有这几个字符打头的命令,gdb中的所有命令均支持不打全命令就可执行命令。



posted on 2011-09-30 09:24  VirtualLife  阅读(140)  评论(0)    收藏  举报

导航