Programación sin libc: Dominando las llamadas al sistema Linux con strace
El autor recientemente se embarcó en la construcción de software sin libc para obtener una comprensión más profunda de las llamadas al sistema de Linux y sus mecanismos internos. Esto implicó la creación de un shell mínimo, un juego de Snake, un servidor HTTP en ensamblador ARM64 puro y una implementación de subprocesos. La depuración dependió en gran medida de strace, y el artículo detalla varias opciones e indicadores útiles de strace. Estos van desde el seguimiento de procesos secundarios e impresión de información detallada de la estructura hasta el seguimiento selectivo de llamadas al sistema e incluso la inyección de errores de llamadas al sistema para fines de depuración. Esto proporciona información valiosa sobre técnicas avanzadas de programación y depuración de sistemas Linux.