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