C 프로그램을 디버깅하는 중입니다. 나는 모든 내부 디버깅 도구 (printf의 전체 묶음)를 사용할 수있게했으며, proc_open()을 사용하고 stdout과 stderr를 모두 가져 와서 한 파일에서 시간 좌표를 지정하는 작은 PHP 스크립트를 작성했습니다. 여기 glibc backtrace - 출력을 파일로 리디렉션 할 수 없습니다.
*** glibc detected *** /sbin/rsyslogd: realloc(): invalid next size: 0x00002ace626ac910 ***
이 이해하지 않는 일이 : 순간
는 바이너리로 시작, glibc에 의해 잡힌 것과 realloc() 오류로 죽어되고, glibc는 백 트레이스가 인쇄됩니다 I PHP 스크립트가 바이너리의 프로세스에서 stdout과 stderr를 모두 잡아서 올바른 파일에 쓰는 것을 확인했지만,이 백 트레이스는 여전히 콘솔에 출력됩니다. 이게 어디서 오는거야? stdout 및 stderr 이외의 마법 출력 채널이 있습니까?
이 백 트레이스를 파일로 캡처하는 방법이나 stderr로 보내는 방법에 대한 아이디어는 있습니까?
감사합니다, 제이슨
오 잘. 모든 곳에서 너무 많은 파손. – Griwes