看视频学习
- trace
- ltrace
GDB
- r
- disas function name - 反编译某个function
- b
- info breakpoint - 查看已设定那些断点
- info register - 查看所有register状态
- x/wx address -查看address中的内容
- w可换成 b/h/g 分别是取 1/2/8 byte
- /后可接数字 表示一次列出几个
- 第二个 x 可换成 u/d/s/i 以不同方式表示
- u : unsigned int
- d : 10 进位
- s : 字串
- i : 指令
- ni - next instruction
- si - step into
- backtrace - 显示上层所有 stack frame 的资讯
- c
- set *address = vale
- 将 adress 中的值设成 value 一次设 4 byte
- 可将 * 换成 {char/short/long} 分别设定 1/2/8 byte
- e.g
- set *0x… = 0xdeadbeef
- set {int}0x… = 1234
- 在有 debug symbol 下
- list : 列出 source code
- b 可直接接行号断点
- info local : 列出区域变数
- print val : 印出变数 val 的值
- attch pid : attch 一个正在运行的 process
- 可以配合