Me gustaría conectar mi código de objeto compilado al código de C++, y luego verificar si se ejecutó una cierta línea de código. ¿Cómo hacer esas dos cosas?¿Cómo escribir un depurador simple?
Si la explicación no es simple (apuesto a que no), ¿alguien puede al menos señalar algunas páginas web que explican cómo hacer esto?
entiendo que la solución es diferente para diferentes plataformas, pero estoy interesado en cómo se hace en Windows y Linux (Linux para el inicio)
¿Por qué no utilizar depuradores existentes? – Erik
@Erik Sé que los depuradores son muy complejos, y no estoy interesado en crear uno. Me gustaría recopilar información sobre cómo verificar qué métodos/funciones se ejecutan durante la ejecución y cuántas veces. –
¿Qué "código de objeto compilado" es esto? Dependiendo de su nivel de control, podría ser tan fácil como agregar una declaración printf() antes/después de la línea de código que desea conocer. Alternativamente, es posible que desee ver cómo anular las funciones en su plataforma de elección (a veces denominado swizzling). En muchas plataformas, puede reemplazar la entrada de una función en una tabla enlazadora con su propia función, hacer su printf, luego hacer que la llamada sea original. En el peor de los casos, también podría reemplazar la primera instrucción de la máquina de una función con una instrucción de salto. – uliwitness