문제 설명 |
문제 해결 항목 바로가기: |
문제 발생 원인
이 과정을 통해 오류의 원인을 판별할 수 없는 경우 WebLogic 서버가 시작된 디렉토리에 생성된 코어 파일을 조사합니다. 코어의 원인을 파악하려면 바이너리 코어 파일에서 정확한 스택 트레이스를 가져와야 합니다. 이렇게 하려면 이 진단 패턴에 설명된 것처럼 운영 체제에 따라 dbx나 gdb와 같은 디버거를 실행합니다. |
SOLARIS 운영체제에서 코어 정보 수집
코어 파일이 생성되지 않는 경우는 파일 사용 권한 문제나 코어 파일에 대한 제한 때문입니다. 코어 덤프 파일의 크기는 다음 요소의 영향을 받을 수 있습니다.
생성된 코어 파일이 있으면 코어 파일에 대해 dbx 또는 gdb를 실행합니다. 다음은 dbx 및 gdb용 명령과 gdb에 의해 생성된 출력 예제입니다. (참고: DEBUG_PROG는 Java 환경에서 실행할 디버거나 프로파일러를 지정할 수 있는 환경 변수입니다.) a. dbx: |
$ java -version (need to use right version of jdk) $ ls /opt/bin/dbx (need to know dbx location) or "which dbx" $ export DEBUG_PROG=/opt/bin/dbx (or wherever "dbx" is located) For JDK 1.3.X do the following: $ <path to java command>/java corefile For JDK 1.4.X do the following: $ dbx <path to java command>/java corefile Now you will be in the debugger. Execute the following commands: (dbx) where ("shows a summary of the stack") (dbx) threads ("shows the state of the existing threads") (dbx) quit |
이 명령은 마지막으로 실행된 스레드의 스택 트레이스를 가져와서(where 명령) 코어 파일에 모든 스레드의 상태를 표시합니다(threads 명령). b. gdb: |
$ java -version (need to use right version of jdk) $ ls /usr/local/bin/gdb (need to know gdb location) or "which gdb" $ export DEBUG_PROG=/usr/local/bin/gdb (or wherever "gdb" is located) For JDK 1.3.X do the following: $ <path to java command>/java corefile For JDK 1.4.X do the following: $ gdb <path to java command>/java corefile Now you will be in the debugger. Execute the following commands: (gdb) where ("shows a summary of the stack") (gdb) thr ("switch among threads or show the current thread") (gdb) info thr ("inquire about existing threads") (gdb) thread apply 1 bt ("apply a command to a list of threads, specifically the backtrace to thread #1") (gdb) quit |
where 명령을 사용하면 실행된 마지막 스레드의 스택 트레이스가 생성되고, thr 명령을 사용하면 현재 스레드가 표시되고, info thr 명령을 사용하면 모든 스레드의 상태가 표시되고, thread apply 1 bt 명령을 사용하면 코어 파일에 포함된 스레드 1의 스택 트레이스를 다른 방식으로 가져올 수 있습니다. 마지막 명령 thread apply # bt에서 #을 실제 스레드 번호로 바꾸어 개별 스레드의 스택 트레이스를 가져오거나 3을 "all"로 바꾸어 모든 스레드의 스택 트레이스를 가져올 수 있습니다. |
$ export DEBUG_PROG=/usr/local/bin/gdb $ java core GNU gdb 5.0 Copyright 2000 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "sparc-sun-solaris2.8"... (no debugging symbols found)... Core was generated by `/wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/bin/../bin/sparc/native_threads'. Program terminated with signal 9, Killed. Reading symbols from /usr/lib/libthread.so.1...(no debugging symbols found)... Loaded symbols for /usr/lib/libthread.so.1 Reading symbols from /usr/lib/libdl.so.1...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libdl.so.1 Reading symbols from /usr/lib/libc.so.1...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libc.so.1 Reading symbols from /usr/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1... (no debugging symbols found)...done. Loaded symbols for /usr/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1 Reading symbols from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so...(no debugging symbols found)... done. Loaded symbols for /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so Reading symbols from /usr/lib/libCrun.so.1...(no debugging symbols found)... Loaded symbols for /usr/lib/libCrun.so.1 Reading symbols from /usr/lib/libsocket.so.1...(no debugging symbols found)... Loaded symbols for /usr/lib/libsocket.so.1 Reading symbols from /usr/lib/libnsl.so.1...(no debugging symbols found)... Loaded symbols for /usr/lib/libnsl.so.1 Reading symbols from /usr/lib/libm.so.1...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libm.so.1 Reading symbols from /usr/lib/libw.so.1... warning: Lowest section in /usr/lib/libw.so.1 is .hash at 00000074 (no debugging symbols found)...done. Loaded symbols for /usr/lib/libw.so.1 Reading symbols from /usr/lib/libmp.so.2...(no debugging symbols found)... Loaded symbols for /usr/lib/libmp.so.2 Reading symbols from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/native_threads/libhpi.so...(no debugging symbols found)...done. Loaded symbols for /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/native_threads/libhpi.so Reading symbols from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/libverify.so...(no debugging symbols found)...done. Loaded symbols for /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/libverify.so Reading symbols from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/libjava.so...(no debugging symbols found)...done. Loaded symbols for /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/libjava.so Reading symbols from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/libzip.so...(no debugging symbols found)...done. Loaded symbols for /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/libzip.so Reading symbols from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/libnet.so...(no debugging symbols found)...done. Loaded symbols for /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/libnet.so Reading symbols from /wwsl/sharedInstalls/solaris/wls70sp2/server/lib/solaris/libfilelock.so...(no debugging symbols found)...done. Loaded symbols for /wwsl/sharedInstalls/solaris/wls70sp2/server/lib/solaris/libfilelock.so Reading symbols from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/libioser12.so...(no debugging symbols found)...done. Loaded symbols for /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/libioser12.so Reading symbols from /usr/lib/nss_nis.so.1...(no debugging symbols found)... Loaded symbols for /usr/lib/nss_nis.so.1 Reading symbols from /wwsl/sharedInstalls/solaris/wls70sp2/server/lib/solaris/libstackdump.so...(no debugging symbols found)...done. Loaded symbols for /wwsl/sharedInstalls/solaris/wls70sp2/server/lib/solaris/libstackdump.so Reading symbols from /usr/lib/libmd5.so.1...(no debugging symbols found)... Loaded symbols for /usr/lib/libmd5.so.1 Reading symbols from /wwsl/sharedInstalls/solaris/wls70sp2/server/lib/solaris/libmuxer.so...(no debugging symbols found)...done. Loaded symbols for /wwsl/sharedInstalls/solaris/wls70sp2/server/lib/solaris/libmuxer.so Reading symbols from /usr/ucblib/libucb.so.1...(no debugging symbols found)... Loaded symbols for /usr/ucblib/libucb.so.1 Reading symbols from /usr/lib/libresolv.so.2...(no debugging symbols found)... Loaded symbols for /usr/lib/libresolv.so.2 Reading symbols from /usr/lib/libelf.so.1...(no debugging symbols found)... Loaded symbols for /usr/lib/libelf.so.1 Reading symbols from /home/usera/wls70/solaris/projectWork/lib/libhello.so... (no debugging symbols found)...done. Loaded symbols for /home/usera/wls70/solaris/projectWork/lib/libhello.so (gdb) where #0 0xff369764 in __sigprocmask () from /usr/lib/libthread.so.1 #1 0xff35e978 in _resetsig () from /usr/lib/libthread.so.1 #2 0xff35e118 in _sigon () from /usr/lib/libthread.so.1 #3 0xff361158 in _thrp_kill () from /usr/lib/libthread.so.1 #4 0xff24b908 in raise () from /usr/lib/libc.so.1 #5 0xff2358f4 in abort () from /usr/lib/libc.so.1 #6 0xfe3c6904 in __1cCosFabort6Fl_v_ () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so #7 0xfe3c59f8 in __1cCosbBhandle_unexpected_exception6FpnGThread_ipCpv_v_ () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so #8 0xfe20a8bc in JVM_handle_solaris_signal () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so #9 0xff36b82c in __sighndlr () from /usr/lib/libthread.so.1 #10 <signal handler called> #11 0xe9f90420 in Java_HelloWorld_displayHelloWorld () from /home/usera/wls70/solaris/projectWork/lib/libhello.so #12 0x90aec in ?? () #13 0x8dc54 in ?? () #14 0x8dc54 in ?? () #15 0x8dc54 in ?? () #16 0x8ddbc in ?? () #17 0x8dde0 in ?? () #18 0x8dc54 in ?? () #19 0x8dc54 in ?? () #20 0x8dde0 in ?? () #21 0x8dc78 in ?? () #22 0x8dc54 in ?? () #23 0x8ddbc in ?? () #24 0x8dc54 in ?? () #25 0xfe5324f0 in __1cMStubRoutinesG_code1_ () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so #26 0xfe0cbe9c in __1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_ () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so #27 0xfe1f6dc4 in __1cJJavaCallsMcall_virtual6FpnJJavaValue_nLKlassHandle_nMsymbolHandle_4pnRJavaCallArguments_pnGThread__v_ () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so #28 0xfe1fcd94 in __1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThread__v_ () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so #29 0xfe21b708 in __1cMthread_entry6FpnKJavaThread_pnGThread__v_ () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so #30 0xfe216208 in __1cKJavaThreadDrun6M_v_ () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so #31 0xfe213ed0 in _start () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so (gdb) thr [Current thread is 1 (LWP 14 )] (gdb) info thr 16 LWP 13 0xff29d194 in _poll () from /usr/lib/libc.so.1 15 LWP 12 0xff29f008 in _lwp_sema_wait () from /usr/lib/libc.so.1 14 LWP 11 0xff29f008 in _lwp_sema_wait () from /usr/lib/libc.so.1 13 LWP 10 0xff29bc2c in _so_accept () from /usr/lib/libc.so.1 12 LWP 9 0xff29bc2c in _so_accept () from /usr/lib/libc.so.1 11 LWP 8 0xff29d194 in _poll () from /usr/lib/libc.so.1 10 LWP 7 0xff29d194 in _poll () from /usr/lib/libc.so.1 9 LWP 6 0xff29f008 in _lwp_sema_wait () from /usr/lib/libc.so.1 8 LWP 5 0xff29f008 in _lwp_sema_wait () from /usr/lib/libc.so.1 7 LWP 4 0xff29f008 in _lwp_sema_wait () from /usr/lib/libc.so.1 6 LWP 3 0xff29d194 in _poll () from /usr/lib/libc.so.1 5 LWP 2 0xff29e958 in _signotifywait () from /usr/lib/libc.so.1 4 LWP 1 0xff29d194 in _poll () from /usr/lib/libc.so.1 3 LWP 16 0xff29c4fc in door_restart () from /usr/lib/libc.so.1 2 LWP 15 0xff369774 in private___lwp_cond_wait () from /usr/lib/libthread.so.1 * 1 LWP 14 0xff369764 in __sigprocmask () from /usr/lib/libthread.so.1 (gdb) thread apply 1 bt Thread 1 (LWP 14 ): #0 0xff369764 in __sigprocmask () from /usr/lib/libthread.so.1 #1 0xff35e978 in _resetsig () from /usr/lib/libthread.so.1 #2 0xff35e118 in _sigon () from /usr/lib/libthread.so.1 #3 0xff361158 in _thrp_kill () from /usr/lib/libthread.so.1 #4 0xff24b908 in raise () from /usr/lib/libc.so.1 #5 0xff2358f4 in abort () from /usr/lib/libc.so.1 #6 0xfe3c6904 in __1cCosFabort6Fl_v_ () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so #7 0xfe3c59f8 in __1cCosbBhandle_unexpected_exception6FpnGThread_ipCpv_v_ () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so #8 0xfe20a8bc in JVM_handle_solaris_signal () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so #9 0xff36b82c in __sighndlr () from /usr/lib/libthread.so.1 #10 <signal handler called> #11 0xe9f90420 in Java_HelloWorld_displayHelloWorld () from /home/usera/wls70/solaris/projectWork/lib/libhello.so #12 0x90aec in ?? () #13 0x8dc54 in ?? () #14 0x8dc54 in ?? () #15 0x8dc54 in ?? () #16 0x8ddbc in ?? () #17 0x8dde0 in ?? () #18 0x8dc54 in ?? () #19 0x8dc54 in ?? () #20 0x8dde0 in ?? () #21 0x8dc78 in ?? () #22 0x8dc54 in ?? () #23 0x8ddbc in ?? () #24 0x8dc54 in ?? () #25 0xfe5324f0 in __1cMStubRoutinesG_code1_ () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so #26 0xfe0cbe9c in __1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_ () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so #27 0xfe1f6dc4 in __1cJJavaCallsMcall_virtual6FpnJJavaValue_nLKlassHandle_nMsymbolHandle_4pnRJavaCallArguments_pnGThread__v_ () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so #28 0xfe1fcd94 in __1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThread__v_ () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so #29 0xfe21b708 in __1cMthread_entry6FpnKJavaThread_pnGThread__v_ () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so #30 0xfe216208 in __1cKJavaThreadDrun6M_v_ () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so #31 0xfe213ed0 in _start () from /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/jre/lib/sparc/server/libjvm.so (gdb) quit |
LINUX 운영체제에서 코어 정보 수집 LINUX
|
$ java -version (need to use right version of jdk) $ ls /usr/local/bin/gdb (need to know gdb location) or "which gdb" $ export DEBUG_PROG=/usr/local/bin/gdb (or wherever "gdb" is located) For JDK 1.3.X do the following: $ <path to java command>/java corefile For JDK 1.4.X do the following: $ gdb <path to java command>/java corefile Now you will be in the debugger. Execute the following commands: (gdb) where ("shows a summary of the stack") (gdb) thr ("switch among threads or show the current thread") (gdb) info thr ("inquire about existing threads") (gdb) thread apply 1 bt ("apply a command to a list of threads, specifically the backtrace to thread #1") (gdb) quit |
where 명령을 사용하면 실행된 마지막 스레드의 스택 트레이스가 생성되고, thr 명령을 사용하면 현재 스레드가 표시되고, info thr 명령을 사용하면 모든 스레드의 상태가 표시되고, thread apply 1 bt 명령을 사용하면 코어 파일에 포함된 스레드 1의 스택 트레이스를 다른 방식으로 가져올 수 있습니다. 마지막 명령 thread apply # bt에서 #을 실제 스레드 번호로 바꾸어 개별 스레드의 스택 트레이스를 가져오거나 3을 "all"로 바꾸어 모든 스레드의 스택 트레이스를 가져올 수 있습니다. |
HPUX 운영체제에서 코어 정보 수집 |
$ java -version (need to use right version of jdk) $ ls /usr/local/bin/gdb (need to know gdb location) or "which gdb" $ export DEBUG_PROG=/usr/local/bin/gdb (or wherever "gdb" is located) For JDK 1.3.X do the following: $ <path to java command>/java corefile For JDK 1.4.X do the following: $ gdb <path to java command>/java corefile Now you will be in the debugger. Execute the following commands: (gdb) where ("shows a summary of the stack") (gdb) thr ("switch among threads or show the current thread") (gdb) info thr ("inquire about existing threads") (gdb) thread apply 1 bt ("apply a command to a list of threads, specifically the backtrace to thread #1") (gdb) quit |
ADB: |
$ java -version (need to use right version of jdk) $ ls /usr/local/bin/adb (need to know adb location) or "which adb" $ export DEBUG_PROG=/usr/local/bin/adb (or wherever "adb" is located) $ <path to java command>/java corefile Now you will be in the debugger. Execute the following commands: adb> $C ("shows a summary of the stack and you may get an error at this point, see below") adb> $r ("shows the state of the registers") adb> $q ("the command to quit adb") |
adb에서 $C 명령을 실행할 때 "can't unwind -- no_entry"와 같은 메시지가 나타나면 대부분 adb가 공유 라이브러리를 인식하지 못하는 경우입니다. 이러한 경우에는 gdb나 wdb를 사용하는 것이 좋습니다. WDB는 http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703,1665,00.html에서 구할 수 있습니다. |
AIX 운영체제에서 코어 정보 수집
|
$ java -version (need to use right version of jdk) $ ls /usr/local/bin/gdb (need to know gdb location) or "which gdb" $ export DEBUG_PROG=/usr/local/bin/gdb (or wherever "gdb" is located) For JDK 1.3.X do the following: $ <path to java command>/java corefile For JDK 1.4.X do the following: $ gdb <path to java command>/java corefile Now you will be in the debugger. Execute the following commands: (gdb) where ("shows a summary of the stack") (gdb) thr ("switch among threads or show the current thread") (gdb) info thr ("inquire about existing threads") (gdb) thread apply 1 bt ("apply a command to a list of threads, specifically the backtrace to thread #1") (gdb) quit |
javacore<PID>.<ID Number>.txt 파일의 샘플 정보: |
Current Thread Details: "ExecuteThread: '10' for queue: 'default'" (TID:0x31c70ad0, sys_thread_t:0x3e52df68, state:R, native ID:0xf10) prio=5 at HelloWorld.displayHelloWorld(Native Method) at servlets.NativeServlet.doGet(NativeServlet.java:85) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5445) at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:780) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3105) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2588) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189) |
Current Thread Details |
WINDOWS 운영체제에서 코어 정보 수집
Dr. Watson 설정/해제:
\HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Windows NT\CurrentVersion\AeDebug.
drwtsn32 -p %ld -e %ld -g |
디버거가 없는 경우
명령 구문은 다음과 유사합니다. $ /usr/proc/bin/pstack core
이 명령은 Solaris의 pstack에 해당합니다. http://web.hexapodia.org/~adi/pmap.c에서 pmap 소스를 가져와서 Linux 플랫폼에서 빌드할 수 있습니다. |
core 'core' of 20956: /wwsl/sharedInstalls/solaris/wls70sp2/jdk131_06/bin/../bin/sparc/nativ ----------------- lwp# 14 / thread# 25 -------------------- ff369764 __sigprocmask (ff36bf60, 0, 0, e6181d70, ff37e000, 0) + 8 ff35e110 _sigon (e6181d70, ff385930, 6, e6180114, e6181d70, 6) + d0 ff361150 _thrp_kill (0, 19, 6, ff37e000, 19, ff2c0450) + f8 ff24b900 raise (6, 0, 0, ffffffff, ff2c03bc, 4) + 40 ff2358ec abort (ff2bc000, e6180268, 0, fffffff8, 4, e6180289) + 100 fe3c68fc __1cCosFabort6Fl_v_ (1, fe4c8000, 1, e61802e8, 0, e9f90420) + b8 fe3c59f0 __1cCosbBhandle_unexpected_exception6FpnGThread_ipCpv_v_ (ff2c02ac, fe53895c, fe4dc164, fe470ab4, fe4c8000, e6180308) + 254 fe20a8b4 JVM_handle_solaris_signal (0, 25d5b8, e6180d90, fe4c8000, b, e6181048) + 8ec ff36b824 __sighndlr (b, e6181048, e6180d90, fe20a8cc, e6181e14, e6181e04) + c ff3684d8 sigacthandler (b, e6181d70, 0, 0, 0, ff37e000) + 708 --- called from signal handler with signal 11 (SIGSEGV) --- e9f90420 Java_HelloWorld_displayHelloWorld (25d644, e6181224, e61819b8, 0, 2, 0) + 30 00090ae4 ???????? (e6181224, e61819b8, 25d5b8, fe4c8000, 0, 109a0) 0008dc4c ???????? (e61812c4, ffffffff, ffffffff, 97400, 4, e61811b8) 0008dc4c ???????? (e618135c, e61819b8, fe4c8000, 99600, c, e6181250) 0008dc4c ???????? (e61813ec, f76a2f90, e618147c, 99600, c, e61812f8) 0008ddb4 ???????? (e618147c, f68578b8, 0, 99974, c, e6181388) 0008ddd8 ???????? (e618154c, e61815c8, e61815cc, 99974, 4, e6181410) ...... |
pmap 출력 코드 부분: |
........ E9500000 1184K read E9680000 1392K read E9800000 4608K read E9F60000 136K read/write/exec E9F90000 8K read/exec /home/usera/wls70/solaris/projectWork/lib/libhello.so E9FA0000 8K read/write/exec /home/usera/wls70/solaris/projectWork/lib/libhello.so E9FB4000 8K read/write/exec E9FC0000 120K read/exec /usr/lib/libelf.so.1 E9FEE000 8K read/write/exec /usr/lib/libelf.so.1 ....... |
pstack 출력에서 오류가 발생한 주소는 e9f90420입니다. pmap 출력 코드 부분에서 e9f90420은 E9F90000-E9FA0000 사이이므로 libhello.so 공유 개체 내부에서 오류가 발생했습니다. |
코어 파일 생성을 위해 검사해야 할 운영 체제 구성
|
JVM을 중지하여 스레드 덤프 가져오기 |
다음과 같이 코어 파일 분석에 사용되는 디버거에 대한 설명서를 구할 수 있습니다. |
추가 도움말이 필요하십니까? 패턴대로 작업했지만 추가 도움말이 필요한 경우 다음과 같이 할 수 있습니다.
이렇게 해도 문제를 해결할 수 없는 경우 유효한 유지보수 계약이 되어 있다면 http://support.bea.com/에 로그인하여 Support Case를 신청할 수 있습니다. |
'IT > Tips' 카테고리의 다른 글
mysql 기본 명령어 (0) | 2007.01.15 |
---|---|
Linux 한글 깨질때 (0) | 2007.01.15 |
awk, sed (0) | 2007.01.15 |
diff, patch, cvs (0) | 2007.01.15 |
Shell programming (0) | 2007.01.15 |