다음과 같은 몇 가지가 있습니다. 대부분은 gdb에 비해 불완전합니다. 예를 들어 역 추적자가 함수 인수 나 지역 정보에 대한 정보를 인쇄하는 경우는 흔하지 않지만 gdb가이를 수행 할 수 있습니다. 또한 gdb는 다른 unwinders가 질식하는 경우에 종종 unwind 할 수 있습니다.
어쨌든, 내가 아는 것은 elfutils입니다. https://fedorahosted.org/elfutils/. 그것은 개발의 unwonginder를 가지고 있습니다 (확실하지 않은지, 아니면 git을 확인하십시오).
또한 libbacktrace가 있습니다. 그것은 gcc의 일부이며 프로세스 내 풀기를 위해 설계되었습니다. 그러나, 아마도 코어 파일에 적용될 수 있습니다.
libunwind도 있습니다. 나는 그것이 끔찍한 일이지만 YMMV라고 들었습니다.
주목해야 할 점 중 하나는 debuginfo를 사용할 수 있어야한다는 것입니다.
마지막 생각 - ABRT 사람들의 "흔적 잡기"영역에서 많은 작업이있었습니다. ABRT는 코어 덤프가 생성되는 동안 커널 훅을 사용하여 커널 덤프를 잡습니다. 그런 다음 코어를 서버에 업로드하고 버그를 파일화하여 분석을 수행합니다. 많은 작업을 재사용 할 수 있습니다. 이 공간에는 다른 작업이 있습니다.
종류의 뇌 덤프가 도움이되기를 바랍니다.
코어 파일을 gdb가있는 다른 컴퓨터에 복사 할 수 있습니까? – joev
자동 스크립트로 코어 파일을 제거하기 전에 충돌에 대한 정보를 얻고 저장하는 것이 좋습니다. 그런 식으로 로그를 살펴보면 크래시에 대한 모든 정보를 잃지 않고 같은 장소에서 크래시를 계속하는 응용 프로그램이 충돌하는 것으로 나타났습니다. – moonchild
일부 backtracing 라이브러리를 소프트웨어에 연결하는 것을 고려해보십시오 .... –