2017-01-25 3 views
0

Serviceability Agent가있는 JVM의 전송 된 코어 파일을 디버깅 할 때 디버거가 다음 두 유형의 라이브러리 (공유 라이브러리 및 시스템 라이브러리)의 불일치로 인해 문제가 발생할 수 있음을 압니다.이 솔루션은 프로그램에서 사용하는 모든 라이브러리를 복사합니다. 디버거 호스트에 대한 핵심 호스트.Serviceability Agent로 JVM 코어 덤프를 확인할 때 공유 라이브러리 목록을 얻는 방법은 무엇입니까?

제 질문은 복사해야하는 라이브러리를 찾는 방법입니다. 책에서 볼 수있는 두 가지 방법이 있습니다. 하나는 "필요한 라이브러리 파일 목록은 gdb, dbx와 같은 원시 디버거를 사용하여"동적 라이브러리 "섹션 아래의 hs_err 로그 파일에서 얻을 수 있습니다. 더 hs_err 로그 파일이없는 경우, 그리고 WinDbg를. " 그러나, 그러나 DBG하여 필요한 라이브러리를 얻기 위해? gdb를위한 명령을 나열 할 수있다?

답변

0

사용 info sharedlibrary 또는 info proc mapping GDB 명령.

$ gdb -core core.3539 /usr/java/jdk1.8.0_102/bin/java 

(gdb) info sharedlibrary 
From    To     Syms Read Shared Object Library 
0x00007f5f11569a70 0x00007f5f11576ab1 Yes   /lib/x86_64-linux-gnu/libpthread.so.0 
0x00007f5f11350310 0x00007f5f1135d598 Yes (*)  /usr/java/jdk1.8.0_102/bin/../lib/amd64/jli/libjli.so 
0x00007f5f1114ada0 0x00007f5f1114b98e Yes   /lib/x86_64-linux-gnu/libdl.so.2 
0x00007f5f10da08b0 0x00007f5f10ef3334 Yes   /lib/x86_64-linux-gnu/libc.so.6 
0x00007f5f11781ac0 0x00007f5f1179f640 Yes   /lib64/ld-linux-x86-64.so.2 
0x00007f5f0ffaf840 0x00007f5f10885f58 Yes (*)  /usr/java/jdk1.8.0_102/jre/lib/amd64/server/libjvm.so 
0x00007f5f0fa8d600 0x00007f5f0fafed0a Yes   /lib/x86_64-linux-gnu/libm.so.6 
0x00007f5f0f882100 0x00007f5f0f8851df Yes   /lib/x86_64-linux-gnu/librt.so.1 
0x00007f5f0f6752a0 0x00007f5f0f67c2a8 Yes (*)  /usr/java/jdk1.8.0_102/jre/lib/amd64/libverify.so 
0x00007f5f0f4525e0 0x00007f5f0f468a88 Yes (*)  /usr/java/jdk1.8.0_102/jre/lib/amd64/libjava.so 
0x00007f5f0f23d2d0 0x00007f5f0f242bf1 Yes   /lib/x86_64-linux-gnu/libnss_compat.so.2 
0x00007f5f0f026ff0 0x00007f5f0f0341e1 Yes   /lib/x86_64-linux-gnu/libnsl.so.1 
0x00007f5f0ee190b0 0x00007f5f0ee1f8ce Yes   /lib/x86_64-linux-gnu/libnss_nis.so.2 
0x00007f5f0ec071b0 0x00007f5f0ec0d2a1 Yes   /lib/x86_64-linux-gnu/libnss_files.so.2 
0x00007f5f0e9ec7f0 0x00007f5f0e9fd7a8 Yes (*)  /usr/java/jdk1.8.0_102/jre/lib/amd64/libzip.so 
0x00007f5ef2822a10 0x00007f5ef2830c68 Yes (*)  /usr/java/jdk1.8.0_102/jre/lib/amd64/libnet.so 
(*): Shared library is missing debugging information. 
+0

늦은 응답으로 죄송합니다. 봄 축제를 치른 후에 사무실로 돌아올 때 답을 표시 할 것입니다. 잊어 버렸습니다. 그 계정 Jacky에 대한 ord 나는 다른 PC와 자동으로 pws를 저장합니다. 새해 복 많이 받으세요:-) – Jason