1. 常用命令
命令 | 例子 | 解释 |
---|---|---|
start | ||
r/run | 运行指定的程序 | |
b/break | 在某断代码上增加断点 | |
c/continue | 运行到下一个断点 | |
n/next | 执行下一条语句 | |
p/print <变量名/表达式> | 查看变量的值/执行表达式 | |
s/step | 执行下一条语句(可以进入到方法内部) | |
fin/finish | 跳出当前方法 | |
clear | 清除下一个断点 | |
delete | 清除断点 | |
disable | 禁用断点 | |
enable | 启用断点 | |
info program | 查看程序状态 | |
info locals | 列出所有当前上下文变量 | |
Info break/b | 查看断点信息 | |
info functions |
info functions thread* |
查看所有函数/特定函数(支持正则) |
list |
||
bt | 查看调用栈 | |
watch | watch *(data type*)address |
设置监视点 |
info watchpoints | ||
rw/rwatch | 设置读观察点 | |
whatis | 查询变量或函数 | |
where |
1.1. 条件断点设置
break … if cond
``` b 10 if i==101
### 分割窗口
| 命令 | 解释 |
| ------------ | -------------------- |
| layout | 用于分割窗口,可以一边查看代码,一边测试 |
| layout src | 显示源代码窗口 |
| layout asm | 显示反汇编窗口 |
| layout regs | 显示源代码/反汇编和CPU寄存器窗口 |
| layout split | 显示源代码和反汇编窗口 |
| Ctrl + L | 刷新窗口 |
- delete
用法:`delete [breakpoints num][range…]`
delete可删除单个断点,也可删除一个断点的集合,这个集合用连续的断点号来描述。
如: `delete 5`, `delete 1-10`
- clear
用法: `clear` , 删除所在行的多有断点。
`clear location`, clear 删除所选定的环境中所有的断点
`clear location location`, 具体的断点
clear list_insert //删除函数的所有断点 clear list.c:list_delet //删除文件:函数的所有断点 clear 12 //删除行号的所有断点 clear list.c:12 //删除文件:行号的所有断点 ```