update gdb cheatsheet

pull/7/head
skywind3000 7 years ago
parent 608fda0a40
commit a4edd4f581

@ -1,6 +1,6 @@
##############################################################################
# GDB CHEATSHEET (中文速查表) - by skywind (created on 2018/02/20)
# Version: 2, Last Modified: 2018/02/26 02:46
# Version: 3, Last Modified: 2018/02/26 22:47
# https://github.com/skywind3000/awesome-cheatsheets
##############################################################################
@ -91,6 +91,83 @@ info locals # 打印帧内的相关变量
info args # 打印函数的参数
##############################################################################
# 代码浏览
##############################################################################
list 101 # 显示第 101 行周围 10行代码
list 1,10 # 显示 1 到 10 行代码
list main # 显示函数周围代码
list basic.c:main # 显示另外一个源代码文件的函数周围代码
list - # 重复之前 10 行代码
list *0x22e4 # 显示特定地址的代码
cd dir # 切换当前目录
pwd # 显示当前目录
search {regexpr} # 向前进行正则搜索
reverse-search {regexp} # 向后进行正则搜索
dir {dirname} # 增加源代码搜索路径
dir # 复位源代码搜索路径(清空)
show directories # 显示源代码路径
##############################################################################
# 浏览数据
##############################################################################
print {expression} # 打印表达式,并且增加到打印历史
print /x {expression} # 十六进制输出print 可以简写为 p
print array[i]@count # 打印数组范围
print $ # 打印之前的变量
print *$->next # 打印 list
print $1 # 输出打印历史里第一条
print ::gx # 将变量可视范围scope设置为全局
print 'basic.c'::gx # 打印某源代码里的全局变量,(gdb 4.6)
print /x &main # 打印函数地址
x *0x11223344 # 显示给定地址的内存数据
x /nfu {address} # 打印内存数据n是多少个f是格式u是单位大小
x /10xb *0x11223344 # 按十六进制打印内存地址 0x11223344 处的十个字节
x/x &gx # 按十六进制打印变量 gxx和斜杆后参数可以连写
x/4wx &main # 按十六进制打印位于 main 函数开头的四个 long
x/gf &gd1 # 打印 double 类型
help x # 查看关于 x 命令的帮助
info locals # 打印本地局部变量
info functions {regexp} # 打印函数名称
info variables {regexp} # 打印全局变量名称
ptype name # 查看类型定义,比如 ptype FILE查看 FILE 结构体定义
whatis {expression} # 查看表达式的类型
set var = {expression} # 变量赋值
display {expression} # 在单步指令后查看某表达式的值
undisplay # 删除单步后对某些值的监控
info display # 显示监视的表达式
show values # 查看记录到打印历史中的变量的值 (gdb 4.0)
info history # 查看打印历史的帮助 (gdb 3.5)
##############################################################################
# 目标文件操作
##############################################################################
file {object} # 加载新的可执行文件供调试
file # 放弃可执行和符号表信息
symbol-file {object} # 仅加载符号表
exec-file {object} # 指定用于调试的可执行文件(非符号表)
core-file {core} # 加载 core 用于分析
##############################################################################
# 信号控制
##############################################################################
info signals # 打印信号设置
handle {signo} {actions} # 设置信号的调试行为
handle INT print # 信号发生时打印信息
handle INT noprint # 信号发生时不打印信息
handle INT stop # 信号发生时中止被调试程序
handle INT nostop # 信号发生时不中止被调试程序
handle INT pass # 调试器接获信号,不让程序知道
handle INT nopass # 调试起不接获信号
signal signo # 继续并将信号转移给程序
signal 0 # 继续但不把信号给程序
##############################################################################

Loading…
Cancel
Save