Posts GDB
Post
Cancel

GDB

GDB基于ptrace系统调用实现

ptrace提供了一种使父进程得以监视和控制其他进程的方式,它还能改变子进程中的寄存器和内核映像,因而可以实现断点调试和系统调用的跟踪。

软断点(Software Breakpoint):在断点位置插入特殊的指令(可以触发中断或者异常)。需要修改原始二进制文件。

硬断点(Hardware Breakpoint):依赖于硬件,需要配置寄存器。硬断点的数量通常是有限的。

关于GDB

gdb的启动

  1. 可执行文件,带参数
  2. python调用.so
  3. core dump文件

gdb调试堆栈

添加,删除,启用,禁用断点

(包括普通断点,条件断点,数据断点)

查看当前断点下的调用堆栈

查看程序运行过程中的线程信息

查看某个变量的内存值

1
2
# 显式从symble地址开始的14个十六进制表示的字节
(gdb) x/14xb symble 
This post is licensed under CC BY 4.0 by the author.