用了二十分钟才把这个格式搞的整齐点了,像个样子。自从今年3月份又来到大学,就开始一直用VIM 、GCC来写代码,没有想过要整理点东西如来。直到两个星期前,我的一个老师对于VIM还有GDB以及Console编辑器表达了很不友好的看法,让我的产生了很深的触动。我当时就说,在终端上写程序最多8个命令就搞定了(我当时也没有想是不是这样的~_~)。其实,可能8个也用不了,如果你有好了上翻下翻的这些功能,再上写好了Makefile的文件,会很好很强大的。下面是一些常用的GDB的命令,整理给刚开始用这个强大工具的同学。
命令
|
描述
|
backtrace(或bt)
|
查看各级函数调用及参数
|
finish
|
连续运行到当前函数返回为止,然后停下来等待命令
|
frame(或f) 帧编号
|
选择栈帧
|
info(或i) locals
|
查看当前栈帧局部变量的值
|
list(或l)
|
列出源代码,接着上次的位置往下列,每次列10行
|
list 行号
|
列出从第几行开始的源代码
|
list 函数名
|
列出某个函数的源代码
|
next(或n)
|
执行下一行语句
|
print(或p)
|
打印表达式的值,通过表达式可以修改变量的值或者调用函数
|
quit(或q)
|
退出gdb调试环境
|
set var
|
修改变量的值
|
start
|
开始执行程序,停在main函数第一行语句前面等待命令
|
step(或s)
|
执行下一行语句,如果有函数调用则进入到函数中
|
break(或b) 行号
|
在某一行设置断点
|
break 函数名
|
在某个函数开头设置断点
|
break ... if ...
|
设置条件断点
|
continue(或c)
|
从当前位置开始连续运行程序
|
delete breakpoints
|
删除断点
|
display 变量名
|
跟踪查看某个变量,每次停下来都显示它的值
|
disable breakpoints
|
禁用断点
|
enable 断点号
|
启用断点
|
info(或i)breakpoints
|
查看当前设置了哪些断点
|
run(或r)
|
从头开始连续运行程序
|
undisplay 跟踪显示号
|
取消跟踪显示
|
watch
|
设置观察点
|
info(或i) watchpoints
|
查看当前设置了哪些观察点
|
x
|
从某个位置开始打印存储单元的内容,全部当成字节来看,
而不区分哪个字节属于哪个变量
|