gdb常用命令

run 启动

set args -i file.cfg

run  -i  file.cfg

dir 指定源码路径

break/b  设置断点

break/b
break file:line
break calss:function
break line-or-function if condition

delete/d 删除断点

delete 1
delete 2-10

continue/c 从断点开始继续执行

next/n 不进入的单步执行

step/s 进入的单步执行

finish 返回到它的调用函数

until 结束当前循环

list/l 列出执行文件部分源代码

list line1, line2 //列出line1和line2之间的代码

print/p 查看变量值

info  查看信息

threads/locals/args/break/watchpoints 查看当前。。。

 

thread n 切换当前调试的线程为指定ID的线程

thread apply ID1 ID2 command 让一个或者多个线程执行GDB命令command

thread apply all command 让所有被调试线程执行GDB命令command

set scheduler-locking off|on|step 只有当前线程会执行,其他线程不执行

call name 调用和执行函数

backtrace/ bt 查看堆栈信息

frame/f 选择下一条continue命令的帧

up/down 上移或下移栈帧,使另一函数成为当前函数

whatis 查看变量类型

ptype 显示一个数据结构(如一个结构或C++类)的内容

watch [expr] 设置观察点,同断点

watch i == 0

commands [bnum]
... command-list ...
end

break foo if x>0
commands
printf "x is %d/n",x
continue
end

signal 将一个信号发送到正在运行的进程

gdb_server 一般嵌入式程序资源有限时使用

gdb_server ip:port 可执行程序
gdb target remote ip:port

 

posted @ 2017-11-07 14:51  _扫地小道童  阅读(77)  评论(0)    收藏  举报