traza inversa de glibc: no se puede redirigir la salida al archivo
Estoy en el proceso de depurar un programa en C (que no escribí). Tengo todas las herramientas de depuración internas (un montón de printf's) habilitadas, y escribí un pequeño script PHP que usa proc_open () y solo toma stdout y stderr, y las coordina en un solo archivo.
En este momento, el binario está muriendo con un error realloc () que es detectado por glibc, y se imprime una traza inversa de glibc, comenzando con:
*** glibc detected *** /sbin/rsyslogd: realloc(): invalid next size: 0x00002ace626ac910 ***
Esto es lo que no entiendo: he confirmado que el script PHP captura tanto stdout como stderr del proceso del binario y los escribe en los archivos correctos, pero esta traza inversa todavía se imprime en la consola. ¿De dónde viene esto? ¿Hay algún canal de salida mágico que no sea stdout y stderr?
¿Alguna idea sobre cómo hago para capturar este rastreo en un archivo o enviarlo con stderr?
Gracias Jason