gdb入门

常用调试命令

backtrace(bt) 查看堆栈
finish 运行完当前函数
frame(f) 帧号 选择栈帧
info(i) locals 查看当前栈帧局部变量值
list(l) 行号 列出源码
next(n) 执行下一行
print(p) 打印表达式的值
quit(q) 退出gdb调试环境
set var 修改变量的值
start 执行程序,在main的第一行语句前停下
step(s) 执行下一步(进入函数)
kill 终止正在调试的程序
break(b) 行号 断点
break 函数名 断点
break 文件名:行号 断点
continue(c) 从当前位置开始继续执行
delete breakpoints 断点号 删除断点
display 变量名 跟踪某个变量
disable breakpoints 断点号 禁用断点
enable 断点号 启用断点
info(i) breakpoints 查看断点
run(r) 重新运行程序
undisplay 跟踪显示号 取消跟踪
watch 设置观察点
info(i) watchpoints 查看观察点
x x/7b input//从input变量处打印7个存储单元的内容
shell cmd 执行命令
set args 设置参数
show args 查看参数
show paths 查看程序运行路径
set environment varname=val 设置环境变量
show environment varname 查看环境变量
cd  切换目录
pwd 查看当前目录
info program 查看程序状态
clear 行号n 清除第n行上的断点
help 帮助
   

gdb启动方法

gdb <program>

gdb <program> core

gdb <program> <PID>

gdb调试core文件

查看是否支持dump core功能:

  ulimit -c或ulimit -a

配置系统使其支持core生成:

  ulimit -c unlimited

gdb查看core文件:

  gdb exe mycore

posted @ 2014-11-03 10:20  feilv  阅读(173)  评论(0编辑  收藏  举报