vim
光标
- 光标跳转至函数/define/变量定义处
[ + [Ctrl] + i
- 返回光标之前的位置
[Ctrl] + o
- 返回光标之后的位置
[Ctrl] + i
- 全文对齐
gg + = G
- 跳转到对应的括号处
%
- 光标移动至行首
^
或0
- 光标移动至行尾
$
- 查找光标所在处的单词normal模式下
×
删除
- 删除光标前n个字符
n + X
- 删除光标后n个字符
n + x
gdb
断点
- 在对应行号打断点
b + [行号]
或break + [行号]
- 在对应函数入口处设置断点
b + [函数名]
- 按条件设置断点
b + [行号\] if i == -1
—>当i==-1时在此处设置断点 - 查看断点信息
info breakpoints
- 设置断点但令断点失效
disable [断点id]
- 重新令断点生效
enable [断点id]
- 删除程序中所有断点
clear
- 删除指定行断点
clear + [行号]
- 删除函数指定函数入口处的断点
clear + [函数名]
- 根据断点id删除断点
clear + [断点1] + [断点2] ...
变量
- 查看变量
p + [变量名]
或print + [变量名]
- 常显示查看变量
display + [变量名]
- 取消常显示变量
undisplay + [变量名]
- 查看变量或表达式的数据类型
whatis + [变量/表达式]
堆栈
- 查看当前函数调用栈的所有信息
bt
core
- 利用core文件进行调试
gdb + [./进程] + [core文件名]
线程
- 显示当前可以调试的所有线程
info threads
- 切断到指定线程
thread +[ID]