62 lines
1.3 KiB
Markdown
62 lines
1.3 KiB
Markdown
# GDB 初探索(编程可阅览)
|
||
|
||
请在开始进行 C 语言编程之后查阅使用
|
||
|
||

|
||
|
||
# GDB 是什么?
|
||
|
||
调试器,简单来说就是当你代码跑不通时候修正错误用的
|
||
|
||
可搭配插件 gef pwndbg pwngdb peda
|
||
|
||
# 基本操作
|
||
|
||
### <strong>GDB 使用表</strong>
|
||
|
||
<em>run (r)</em>运行程序
|
||
|
||
<em>b</em>打断点,可以在函数和位置打断点
|
||
|
||
<em>info b</em>查看打断点的位置
|
||
|
||
<em>n</em>下一步,跳过函数的
|
||
|
||
<em>list</em>查看源代码
|
||
|
||
<em>-p</em>走 PID 路线
|
||
|
||
edit [file:]function 看现在停下的函数位置
|
||
|
||
step 进入任何函数
|
||
|
||
<em>p</em>打印变量
|
||
|
||
<em>shell</em>输入命令
|
||
|
||
<em>set logging on</em>记录日志
|
||
|
||
<em>watchpoint</em>观察变量是否变化的观察点
|
||
|
||
<em>watch</em>设置观察点位置,watch*(地址)
|
||
|
||
<em>layout split</em>开启 TUI 模式
|
||
|
||
<em>whatis</em>查看变量类型
|
||
|
||
<em>ptype</em>查看详细信息
|
||
|
||
#### <strong>TUI</strong>
|
||
|
||
<em>ctrl +x +a</em>开启
|
||
|
||
<em>ctrl</em>+<em>p</em>+<em>n</em>往前
|
||
|
||
<em>ctrl</em> +<em>l</em>重新整理页面
|
||
|
||
# 官方手册
|
||
|
||
[GDB User Manual](https://sourceware.org/gdb/current/onlinedocs/gdb)
|
||
|
||
有非常多高级用法,可以在必要的时候进行查阅,受益无穷
|