
Building a Debugger
Sy Brand
- Editorial
- No Starch Press
- Año
- 2025
- Páginas
- ~747
- Nivel
- Intermedio
De qué trata
Guía técnica y práctica escrita por Sy Brand que desmitifica por completo la mecánica interna de las herramientas de depuración de software en entornos nativos. El libro está dirigido a programadores e ingenieros de software de nivel intermedio a avanzado que dominan el lenguaje C++ y se sienten cómodos trabajando en la terminal de Linux y con la arquitectura de procesadores x86_64, interesados en comprender cómo funcionan por dentro depuradores de la talla de GDB o LLDB a través de una implementación real paso a paso.
A lo largo de sus capítulos, el autor enseña a interactuar directamente con el sistema operativo y el procesador: creación y control de procesos subordinados mediante las llamadas del sistema fork, exec y ptrace en Linux; lectura, volcado y alteración de registros de la CPU x64; establecimiento de breakpoints por software mediante la instrucción int 3 y sobreescritura de memoria; implementación de breakpoints y watchpoints por hardware usando los registros de depuración DR0 a DR7; análisis de ejecutables y bibliotecas en formato binario ELF; interpretación de la información de depuración en formato DWARF (tablas de líneas de código fuente, expresiones DWARF y Call Frame Information); desenrollado de la pila (stack unwinding) para generar trazas de llamadas completas; y gestión de señales UNIX, llamadas al sistema y depuración en entornos con múltiples hilos.
El núcleo del libro es el desarrollo integral y guiado de un depurador nativo de línea de comandos en C++ moderno denominado sdb (Sy Brand Debugger). Su aportación técnica es sobresaliente, ya que llena un vacío bibliográfico notable unificando conceptos de compiladores, sistemas operativos, formatos binarios y arquitectura de computadoras en un solo proyecto funcional; no obstante, su alcance se centra con exclusividad en la plataforma Linux y la arquitectura x64, dejando fuera arquitecturas como ARM y sistemas operativos como Windows.
- Depuración nativa
- C++ moderno
- Arquitectura x64
- Linux ptrace
- Formato ELF
- Información DWARF
- Breakpoints y watchpoints
- Stack unwinding
- Llamadas al sistema
- Multithreading
¿Cómo enseña?
Con proyectos
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
sdb (Sy Brand Debugger)
Depurador nativo completo para Linux en arquitectura x64 programado en C++ moderno, capaz de pausar y rastrear procesos con ptrace, manipular registros, gestionar puntos de interrupción por software y hardware, leer símbolos ELF/DWARF y reconstruir la pila de llamadas.

