gdb篇

基本操作

  • set args 可指定运行时参数。(如:set args 10 20 30 40 50)
  • show args 命令可以查看设置好的运行参数
  • run 运行,缩写r
  • continue 继续执行,缩写c
  • finish 执行到函数结束
  • next 单步步过,不会进函数
  • step 单步步入,会进函数

查看指令

  • disassemble 汇编, 缩写disas
  • disas function 汇编指定函数
  • disas function,+50 汇编指定函数偏移50
  • disas/r 汇编并显示opcode
  • set disassembly-flavor intel 采用inter语法,默认是AT&T
  • display/i $rip 每一步显示指令

断点

  • break filename.c:number 在源码中第几行下断点
  • break function 对函数下断点
  • break *address 对地址下断点
  • info break 显示断点信息
  • del n 删除n号断点

查看内存

  • bt 显示栈内容
  • info registers 查看寄存器
  • x/x *address 用16进制显示指定地址里的内容
  • x/s *address 显示字符串
  • x/10x $esp-4 显示esp指向内容

修改内存

  • set *0x00400FBD=0x12345678 默认是DWORD
  • set ((char )0x00400FBD)=0x14 指定为BYTE