Я нахожусь в процессе отладки программы на C (которую я не писал). У меня включены все инструменты внутренней отладки (целая куча printf), и я написал небольшой PHP-скрипт, который использует proc_open () и просто захватывает и stdout, и stderr, и координирует их время в одном файле.
В настоящий момент бинарный файл умирает с ошибкой realloc (), которая перехватывается glibc, и выводится обратная трассировка glibc, начиная с:
*** glibc detected *** /sbin/rsyslogd: realloc(): invalid next size: 0x00002ace626ac910 ***
Вот вещь, которую я не понимаю: я подтвердил, что PHP-скрипт захватывает и stdout, и stderr из процесса двоичного файла и записывает их в правильные файлы, но эта обратная трассировка все еще выводится на консоль. Откуда это? Есть ли какой-нибудь магический выходной канал, кроме stdout и stderr?
Есть какие-нибудь идеи о том, как мне записать эту обратную трассировку в файл или отправить ее с помощью stderr?
Спасибо,
Jason