GNU Debugger (GDB) is an indispensable tool for programmers developing on Linux. With the powerful system call “ptrace”, GDB is allowed to trace and even modify other processes.
In this talk, we will introduce a tiny debugger that is built on Linux based on ptrace. Combined with the DWARF information of the debuggee, this debugger can provide breakpoint settings, read/write on debuggee’s register and memory, source-level stepping, and stack unwinding functions. Through this tiny debugger, we will have a deeper understanding of the role ptrace plays in GDB.
I am a nobody who wishes to be somebody.