그래서 glibc가 충돌 할 때 * glibc가 감지되었습니다. * 충돌 메시지가 있습니다. 그런 다음 모든 아니라 좋은glibc 충돌 무시
*** glibc detected *** ./odin: free(): invalid pointer: 0xbfba4444 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6(+0x6b161)[0xb75f9161]
/lib/tls/i686/cmov/libc.so.6(+0x6c9b8)[0xb75fa9b8]
/lib/tls/i686/cmov/libc.so.6(cfree+0x6d)[0xb75fda9d]
/usr/lib/libstdc++.so.6(_ZdlPv+0x1f)[0xb77da2ef]
처럼, 역 추적의 무리를 인쇄하지만, 일 충돌, 내가에 실제 포인트를 역 추적을()하고 다음은 addr2line하는 시스템 호출을 사용하여 인쇄 봤는데 다른 경우 함수 대신. 그러나 glibc 충돌이 발생하면 호출 한 모든 신호 핸들러를 우회합니다.
이러한 glibc 충돌을 방지 할 방법이 있습니까?
흠, 내 프로그램에 꽤 오랜 시간 동안 신호 (SIGABRT, blah)가 있었고 트리거하지 않았습니다. ** 편집 ** ** 실제로 트리거를 실행했지만, 방금 실행하지 않았습니다. 그것을 보지 마라. 나는 valgrind도 시도 할 것이다. 그러나 내가 어떻게해서든지 아무것도하지 않았던 때가 이제까지 붙 잡히게되었다. – kamziro