我正在調試C程序(我沒寫)。我啓用了所有內部調試工具(一大堆printf),並且我編寫了一個使用proc_open()的小型PHP腳本,它只抓取stdout和stderr,並將它們在一個文件中進行時間匹配。glibc backtrace - 無法將輸出重定向到文件
目前,二進制是與同時由glibc的抓住了realloc()的錯誤dieing,並且打印glibc的回溯,開頭:
*** glibc detected *** /sbin/rsyslogd: realloc(): invalid next size: 0x00002ace626ac910 ***
這裏是我不明白的事:我已經確認PHP腳本正在從二進制文件的進程中捕獲標準輸出和標準錯誤,並將它們寫入正確的文件,但是這個回溯仍然被打印到控制檯。這是從哪裏來的?除stdout和stderr之外是否有一些神奇的輸出通道?
關於如何將這個回溯記錄到文件或者用stderr發送出去的想法?
感謝, 傑森
唉。到處都是破損。 – Griwes 2014-08-21 09:53:29