1. 断点管理
- 设置断点:
break [line/symbol/file:symbol/file:line] - 查看断点:
info breakpoints - 删除断点:
delete [num] - 启用断点:
enable [num](可通过字段Enb (y)查看是否启用) - 禁用断点:
disable [num](可通过字段Enb (n)查看是否禁用)
2. 调试文件和配置
- 加载调试文件:
file [filename] - 加载配置文件:
source [filename]
3. 文本用户界面(TUI)
- 启用文本界面:
tui enable- 跟踪源代码:
layout src - 跟踪汇编代码:
layout asm - 跟踪寄存器:
layout reg
- 跟踪源代码:
- 退出文本界面:
tui disable
4. 程序执行控制
- 查看寄存器:
info registers - 运行程序:
run [arg1] [arg2] ... [argn] - 单步执行(进入函数):
step - 单步执行(进入指令):
si - 单步执行(跳过函数):
next - 单步执行(跳过指令):
ni - 查看堆栈:
backtrace - 结束当前函数:
fin - 继续执行直到遇到断点或错误:
continue
5. 断点与监视
- 设置监视断点:
watch [variable/*address](支持类型转换,类似 C 语言的表达式,格式选项和print命令一致) - 设置条件断点:
b [location] if condition或watch [location] if condition - 查看监视断点:
info watchpoints - 删除监视断点:
delete watchpoints [num]
6. 变量打印与跟踪
-
打印变量:
p [/format] [symbol/*address/$reg/expression]- 格式选项:
/x:十六进制格式/d:十进制格式/o:八进制格式/t:二进制格式/f:浮点数格式/u:无符号整数格式/c:字符格式
- 默认值:
/d(十进制)
- 格式选项:
-
跟踪变量:
display [/format] [symbol/*address/$reg/expression](格式选项和默认值同print) -
查看跟踪变量:
info display -
删除跟踪变量:
delete display [num]
7. 内存查看
- 查看内存值:
x/[count][format] [address/$reg/symbol/expression]- 格式选项:
b:字节(byte)h:半字(short,2字节)w:字(word,4字节)g:双字(giant word,8字节)x:十六进制格式d:十进制格式u:无符号十进制f:浮点数格式s:字符串(以空字符结束)
- 默认值:
/x:十六进制格式/w:4字节
- 格式选项:
posted on
浙公网安备 33010602011771号