2020-12-19 c/c++ gdb gdb1. 启动gdb1gdb ./myps 2. 设置命令行 参数1set args ming 3. 查看代码行号1list 4. 设置断点1234567891011# 在第18行设置断点b 18# 查看设置的断点i b# disable 编号是1的断点disable b 1# enable 编号是1的断点enable b 1 5. 查看变量的值1p linebuf 6. 下一步1234567891011# 在当前函数中执行下一行n# 进入本行的函数中s# 跳出当前函数fin# 继续执行到下一个断点c 6. 调试汇编123456789101112131415# 查看反汇编objdump -d -M intel a.out(gdb) set disassembly-flavor intel# starti 停在最开始,再查真实地址(gdb) starti(gdb) info proc mappings # 找到程序加载的基地址(gdb) b *0x555555555060 # 基地址 + 0x1060(gdb) r(gdb) layout asm(gdb) layout regs# 之后用 ni/si 单步,观察寄存器变化(gdb) x/8xg $rsp # 随时查看栈 Newer gcc Older c语言