puck tools — test your egress policy against real C2 traffic →
Course·Beginner·6 lessons·89 minIN PROGRESS

GDB from zero to hero

GDB is very powerful, by default it doesn't do much. This course takes you from 0 to fully configured. You will learn: what a debugger actually does to a running process, how to set one up so it is pleasant to use, how to reach into a process that is already running, and how to teach it commands of your own.

Start lesson 01 →
Two terminals side by side at the same breakpoint, labelled "GDB from this" and "to this". On the left, stock GDB has printed nine lines and stopped. On the right, the same stop fills the screen with colour-coded registers, disassembly, source and stack.

Outcomes

  • Set breakpoints, step through code, and read a backtrace
  • Configure GDB so it is worth using every day rather than once a year
  • Explain what a breakpoint physically is and why a debugger can stop a program at all
  • Attach to a process that is already running, and detach without killing it
  • Add your own commands to GDB, in its own scripting and in Python
  • Run pwndbg, and read the context it prints on every stop