Depuradores: Una inmersión profunda en la arquitectura de una herramienta de depuración de software

2025-06-11
Depuradores: Una inmersión profunda en la arquitectura de una herramienta de depuración de software

Esta es la primera de una serie de publicaciones sobre la arquitectura de depuradores. El autor, basándose en años de experiencia en el desarrollo de depuradores, explora los principios básicos y la importancia de esta herramienta a menudo pasada por alto. Más que una simple herramienta para corregir errores, un depurador proporciona información detallada sobre la ejecución de programas y permite verificar la corrección del código. La publicación detalla cómo funcionan los depuradores, incluida la interacción con el kernel, las funciones de depuración de la CPU, la implementación de puntos de interrupción y la ejecución paso a paso del código. Las publicaciones futuras explorarán temas más avanzados y la dirección del desarrollo de depuradores.

Leer más
Desarrollo

Desmitificando Depuradores: La Anatomía de un Programa en Ejecución

2024-12-24
Desmitificando Depuradores: La Anatomía de un Programa en Ejecución

Este artículo profundiza en la mecánica de bajo nivel de un programa en ejecución. Usando la analogia de un cartucho de videojuego en una NES, explica cómo los sistemas operativos modernos virtualizan la ejecución de programas. Se detallan conceptos clave como espacios de direcciones virtuales, subprocesos de ejecución, imágenes ejecutables, cargadores, módulos y procesos. El artículo explica cómo los espacios de direcciones virtuales, a través de tablas de páginas, mapean direcciones virtuales a direcciones físicas, permitiendo que múltiples programas compartan la memoria física sin interferencia. También cubre la programación de subprocesos, los formatos de imágenes ejecutables (PE y ELF), el papel del cargador y la carga/descarga dinámica de módulos. Finalmente, resume el concepto de un proceso, que integra subprocesos, módulos y espacios de direcciones virtuales.

Leer más