2013-09-07 2 views
-2

UNIX 서버에서 코어 덤프를 관찰하고 그 원인을 분석해야합니다. 다음 코어 덤프의 출력은코어 덤프 분석

Loading modules: [ libc.so.1 libuutil.so.1 ld.so.1 ] 
> ::status 
debugging core file of pmr_colld_aos (32-bit) from atrcxb2532 
file: /opt/ericsson/aos/PDM/bin/pmr_colld_aos 
initial argv: /opt/ericsson/aos/PDM/bin/pmr_colld_aos -ORBInitRef NameService=corbaloc::maste 
threading model: multi-threaded 
status: process terminated by SIGABRT (Abort) 

> ::stack 
libc.so.1`_lwp_kill+0x15(1, 6) 
libc.so.1`raise+0x1f(6) 
libc.so.1`abort+0xcd(8026ad0, 8eb2d88, 0, fe2cb9d0, 8ea9f50, 80275b0) 
libstdc++.so.6.0.3`_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0xdf(fe2eb0c0, fe2cb9d0, 8026a78, fe2b53cc, fe2b7298, 8ea9f50) 
libstdc++.so.6.0.3`_ZN10__cxxabiv111__terminateEPFvvE+0x14(fe2b7298, 8ea9f50, 8026a88, fe2b467a, feffd888, fe2cb9d0) 
libstdc++.so.6.0.3`_ZN10__cxxabiv112__unexpectedEPFvvE(1, fe2cb9d0, 8026af8, fe2b52d6, fe2b53ac, fe217a44) 
libstdc++.so.6.0.3`_ZN10__cxxabiv112__unexpectedEPFvvE+0x14(fe2b53ac, fe217a44, feffa320, 0, 8026ad8, fe2b7298) 
libstdc++.so.6.0.3`__cxa_call_unexpected+0x42(8ea9f80, 8026b40, 8c70120, 82aa448, 8e382a8, 8026b20) 
_ZN21PDRFileTimeoutHandler5checkEv+0xa10(fe17f000, fdfa2a00, 8026c90, fe0a5bf6, fe180680, 0) 
main+0x1309(2, 8026e10, 8026e24) 
_start+0x80(4, 8027618, 8027682, 802764c, 8027640, 0) 
> $C 
080269c4 libc.so.1`_lwp_kill+0x15(1, 6) 
080269dc libc.so.1`raise+0x1f(6) 
08026a28 libc.so.1`abort+0xcd(8026ad0, 8eb2d88, 0, fe2cb9d0, 8ea9f50, 80275b0) 
08026a48 libstdc++.so.6.0.3`_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0xdf(fe2eb0c0, fe2cb9d0, 8026a78, fe2b53cc, fe2b7298, 8ea9f50) 
08026a58 libstdc++.so.6.0.3`_ZN10__cxxabiv111__terminateEPFvvE+0x14(fe2b7298, 8ea9f50, 8026a88, fe2b467a, feffd888, fe2cb9d0) 
08026a78 libstdc++.so.6.0.3`_ZN10__cxxabiv112__unexpectedEPFvvE(1, fe2cb9d0, 8026af8, fe2b52d6, fe2b53ac, fe217a44) 
08026a88 libstdc++.so.6.0.3`_ZN10__cxxabiv112__unexpectedEPFvvE+0x14(fe2b53ac, fe217a44, feffa320, 0, 8026ad8, fe2b7298) 
08026af8 libstdc++.so.6.0.3`__cxa_call_unexpected+0x42(8ea9f80, 8026b40, 8c70120, 82aa448, 8e382a8, 8026b20) 
08026c68 _ZN21PDRFileTimeoutHandler5checkEv+0xa10(fe17f000, fdfa2a00, 8026c90, fe0a5bf6, fe180680, 0) 
08026dec main+0x1309(2, 8026e10, 8026e24) 
08026e04 _start+0x80(4, 8027618, 8027682, 802764c, 8027640, 0) 
> $G 
C++ symbol demangling enabled 
> ::quit 

는 사람이 출력을 이해 좀 도와 줄래 MDB 사용?

코드는/opt/ericsson/aos/PDM/bin/pmr_colld_aos 디렉토리의 pmr_colld_aos로 작성되었습니다. 또한 코드를 백 트레이스하는 데 도움이되는 출력물을 이해하는 방법을 알고 싶습니다.

+0

안녕하세요. 그러나이 질문은 낮은 품질입니다. 코드없이 코드 백투스? – lpapp

+0

출력물을 이해하는데 도와 주시겠습니까? – abc

+0

@ArchnaSharma 충돌하는 소프트웨어는 무엇입니까 ('/ opt/ericsson/aos/PDM/bin/pmr_colld_aos'는 무엇입니까?)? 이것이 자신이 작성한 소프트웨어가 아니라면 [serverfault] (http://serverfault.com/)에서 대신 묻는 것이 좋습니다. 해당 소프트웨어의 로그 파일을 보셨습니까? – PeterT

답변

2

충돌의 역 추적이 있습니다. 프로그램의 일부인 마지막 루틴은 FileTimeoutHandler5checkEv()이므로 오류가있을 수 있습니다. 이 시점 이후의 모든 것은 C++ 라이브러리의 일부입니다.

정말로 조사하고 싶다면 핵심 파일을 GDB에로드하는 프로그램과 함께로드해야합니다. 그것은 mdb로 코어 파일을 검사하는 것보다 쉽습니다.

+0

@ Nikos-pstack 및 pflag 출력도 코어 덤프를 디버깅하는 데 도움이됩니까? – abc