glibc backtrace - не могу перенаправить вывод в файл

Я нахожусь в процессе отладки программы 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?

Спасибо, Мы подтвердили, что сценарий PHP перехватывает как stdout, так и stderr из двоичного процесса и записывает их в нужные файлы, но эта обратная трассировка по-прежнему выводится на консоль. Откуда это взялось? Есть ли какой-нибудь волшебный выходной канал, кроме stdout и stderr?

Есть идеи, как мне записать эту трассировку в файл или отправить ее с помощью stderr?

Спасибо, Мы подтвердили, что сценарий PHP перехватывает как stdout, так и stderr из двоичного процесса и записывает их в нужные файлы, но эта обратная трассировка по-прежнему выводится на консоль. Откуда это взялось? Есть ли какой-нибудь волшебный выходной канал, кроме stdout и stderr?

Есть идеи, как мне записать эту трассировку в файл или отправить ее с помощью stderr?

Спасибо, Jason

12
задан Jason Antman 6 January 2011 в 14:38
поделиться