Depuración con GDB: Controlando la ejecución de tu código
Guía práctica para entender el uso de GDB, desde la compilación con símbolos de depuración hasta el uso de watchpoints y examen de memoria.
Guía práctica para entender el uso de GDB, desde la compilación con símbolos de depuración hasta el uso de watchpoints y examen de memoria.
Estrategias para desacoplar la lógica de negocio del hardware y el I/O mediante estructuras de funciones y mocks en memoria.
Implementación de un sistema de pruebas ligero usando macros de preprocesador, stringification y tablas de punteros a funciones.
Guía sobre el uso de flags de compilador, herramientas como cppcheck y Clang para detectar errores lógicos y vulnerabilidades de seguridad en C.
Guía sobre AddressSanitizer, UBSan y Valgrind para localizar errores de memoria y comportamiento indefinido en C.
Aprende a evitar desbordamientos de buffer y corrupción de memoria sustituyendo funciones peligrosas por sus alternativas seguras.
Guía avanzada sobre el uso de ensamblador extendido en GCC, restricciones de operandos, clobbers y la importancia de la cláusula volatile.
Técnicas de uso de volatile, const y structs para mapear periféricos y registros de hardware en sistemas embebidos.
Explica cómo el compilador inserta padding para la alineación de memoria y cómo usar offsetof y _Alignof para inspeccionar y optimizar structs.
Guía sobre cómo detectar el orden de bytes del host, realizar conversiones manuales y leer buffers de forma segura y portable.