Estoy en el proceso de depurar un programa en C (que no escribí). Tengo habilitadas todas las herramientas internas de depuración (un montón de printf), y escribí un pequeño script PHP que usa proc_open() y simplemente toma stdout y stderr, y las coordina en un solo archivo.glibc backtrace - no se puede redirigir la salida al archivo
Por el momento, el binario está muriendo con un error de realloc() que está atrapado por glibc, y se imprime una traza glibc, comenzando con:
*** glibc detected *** /sbin/rsyslogd: realloc(): invalid next size: 0x00002ace626ac910 ***
Aquí es lo que no entiendo: yo He confirmado que el script PHP está capturando tanto stdout como stderr del proceso del binario y escribiéndolos en los archivos correctos, pero esta traza inversa aún se imprime en la consola. ¿De dónde viene esto? ¿Hay algún canal de salida mágico aparte de stdout y stderr?
¿Alguna idea sobre cómo capturar esta traza inversa en un archivo o enviarla con stderr?
Gracias, Jason
Oh bien. Tanto rompimiento en todas partes. – Griwes