我正在尝试分析包含java崩溃的.hdmp文件(Windows崩溃转储)。 我看到堆栈转储崩溃和所有dll /模块,但不是java(例如jvm,nio等等)。
当我使用windbg或Visual Studio时,会大声说出缺少jdk / jre中不存在的java符号/ .pdb文件。我在互联网上看到一些关于获得 debug jdk版本的答案,我无法找到..
任何人都知道如何获取java .pdb文件?或者以其他方式分析这个文件而没有这些?
这是分析-v
windbg -z foo.hdmp
SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
The stored exception information can be accessed via .ecxr.
!analyze -v
APPLICATION_FAULT_STATUS_HEAP_CORRUPTION_AFTER_CALL
Microsoft (R) Windows Debugger Version 6.2.8400.0 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [D:\oded\appcrash\WER24CD.tmp.hdmp]
User Mini Dump File: Only registers, stack and portions of memory are available
Symbol search path is: SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
Executable search path is:
Windows 7 Version 7600 MP (8 procs) Free x64
Product: Server, suite: Enterprise TerminalServer SingleUserTS
Machine Name:
Debug session time: Mon Jun 4 22:42:31.000 2012 (UTC + 3:00)
System Uptime: 76 days 3:25:16.239
Process Uptime: 0 days 8:44:33.000
.............................................
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(25c8.12b0): Unknown exception - code c0000374 (first/second chance not available)
ntdll!NtWaitForSingleObject+0xa:
00000000`77a5f6fa c3 ret
0:077> !analyze -v
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
*** ERROR: Symbol file could not be found. Defaulted to export symbols for nio.dll -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for jvm.dll -
*** ERROR: Module load completed but symbols could not be loaded for java.exe
*** ERROR: Symbol file could not be found. Defaulted to export symbols for net.dll -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for java.dll -
FAULTING_IP:
ntdll!RtlReportCriticalFailure+62
00000000`77ad6ab2 eb00 jmp ntdll!RtlReportCriticalFailure+0x64 (00000000`77ad6ab4)
EXCEPTION_RECORD: ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 0000000077ad6ab2 (ntdll!RtlReportCriticalFailure+0x0000000000000062)
ExceptionCode: c0000374
ExceptionFlags: 00000001
NumberParameters: 1
Parameter[0]: 0000000077b4d430
PROCESS_NAME: java.exe
ERROR_CODE: (NTSTATUS) 0xc0000374 - A heap has been corrupted.
EXCEPTION_CODE: (NTSTATUS) 0xc0000374 - A heap has been corrupted.
EXCEPTION_PARAMETER1: 0000000077b4d430
NTGLOBALFLAG: 0
APPLICATION_VERIFIER_FLAGS: 0
APP: java.exe
LAST_CONTROL_TRANSFER: from 0000000077ad7176 to 0000000077ad6ab2
FAULTING_THREAD: ffffffffffffffff
BUGCHECK_STR: APPLICATION_FAULT_STATUS_HEAP_CORRUPTION_AFTER_CALL
PRIMARY_PROBLEM_CLASS: STATUS_HEAP_CORRUPTION_AFTER_CALL
DEFAULT_BUCKET_ID: STATUS_HEAP_CORRUPTION_AFTER_CALL
STACK_TEXT:
00000000`59fef390 00000000`77ad7176 : 00000000`00000002 00000008`00000023 00000000`00000000 00000007`00000003 : ntdll!RtlReportCriticalFailure+0x62
00000000`59fef460 00000000`77ad84a2 : 00000000`5578d000 00000000`5578d000 00000007`1e5a91c8 00000000`59fef660 : ntdll!RtlpReportHeapFailure+0x26
00000000`59fef490 00000000`77ad9e34 : 00000000`525d0000 00000000`00000000 00000000`00000000 00000008`00000003 : ntdll!RtlpHeapHandleError+0x12
00000000`59fef4c0 00000000`77a7c05d : 00000000`66ff4fc0 00000000`525d0000 00000000`66ff4fd0 00000000`5578d000 : ntdll!RtlpLogHeapFailure+0xa4
00000000`59fef4f0 000007fe`ff306db6 : 00000000`0000225c 00000000`66ff4fd0 00000000`66ff4fd0 000007fe`ff30353b : ntdll! ?? ::FNODOBFM::`string'+0x11e74
00000000`59fef570 000007fe`ff306d93 : 00000000`00000007 00000000`8004667e 00000000`0000225c 00000000`00000004 : ws2_32!DSOCKET::`scalar deleting destructor'+0x16
00000000`59fef5a0 000007fe`ff310ad3 : 00000000`0000225c 00000000`526472a0 00000000`59fef718 00000000`00000004 : ws2_32!DSOCKET::DestroyDSocket+0x13
00000000`59fef5d0 000007fe`ff305312 : 00000007`1e5a9200 00000000`59fef760 00000000`5578d1d0 00000000`0000225c : ws2_32!alloca_probe+0x46e0
00000000`59fef660 00000000`6d6c28e3 : 00000002`1907e440 00000000`007083d7 00000001`00000401 00000001`00000000 : ws2_32!ioctlsocket+0x32
00000000`59fef6c0 00000000`029575f3 : 00000007`1e5a91c8 00000002`19081008 00000001`18c2c480 00000000`00000001 : nio!Java_sun_nio_ch_IOUtil_configureBlocking+0x5b
00000000`59fef700 00000007`1e5a91c8 : 00000002`19081008 00000001`18c2c480 00000000`00000001 00000007`1e5a9198 : 0x29575f3
00000000`59fef708 00000002`19081008 : 00000001`18c2c480 00000000`00000001 00000007`1e5a9198 00000000`02def73c : 0x00000007`1e5a91c8
00000000`59fef710 00000001`18c2c480 : 00000000`00000001 00000007`1e5a9198 00000000`02def73c 00000000`000003e8 : 0x00000002`19081008
00000000`59fef718 00000000`00000001 : 00000007`1e5a9198 00000000`02def73c 00000000`000003e8 00000000`02634ed5 : 0x00000001`18c2c480
00000000`59fef720 00000007`1e5a9198 : 00000000`02def73c 00000000`000003e8 00000000`02634ed5 00000002`19498520 : 0x1
00000000`59fef728 00000000`02def73c : 00000000`000003e8 00000000`02634ed5 00000002`19498520 00000000`59fef7a0 : 0x00000007`1e5a9198
00000000`59fef730 00000000`000003e8 : 00000000`02634ed5 00000002`19498520 00000000`59fef7a0 00000001`18c2c480 : 0x2def73c
00000000`59fef738 00000000`02634ed5 : 00000002`19498520 00000000`59fef7a0 00000001`18c2c480 00000002`1907bca8 : 0x3e8
00000000`59fef740 00000002`19498520 : 00000000`59fef7a0 00000001`18c2c480 00000002`1907bca8 00000007`1e5a9218 : 0x2634ed5
00000000`59fef748 00000000`59fef7a0 : 00000001`18c2c480 00000002`1907bca8 00000007`1e5a9218 00000000`02d514e4 : 0x00000002`19498520
00000000`59fef750 00000001`18c2c480 : 00000002`1907bca8 00000007`1e5a9218 00000000`02d514e4 00000002`1907bbd0 : 0x59fef7a0
00000000`59fef758 00000002`1907bca8 : 00000007`1e5a9218 00000000`02d514e4 00000002`1907bbd0 00000002`4320f795 : 0x00000001`18c2c480
00000000`59fef760 00000007`1e5a9218 : 00000000`02d514e4 00000002`1907bbd0 00000002`4320f795 00000000`4320f7ba : 0x00000002`1907bca8
00000000`59fef768 00000000`02d514e4 : 00000002`1907bbd0 00000002`4320f795 00000000`4320f7ba 00000007`1e5a8f90 : 0x00000007`1e5a9218
00000000`59fef770 00000002`1907bbd0 : 00000002`4320f795 00000000`4320f7ba 00000007`1e5a8f90 00000007`00000000 : 0x2d514e4
00000000`59fef778 00000002`4320f795 : 00000000`4320f7ba 00000007`1e5a8f90 00000007`00000000 00000007`1e5a92a8 : 0x00000002`1907bbd0
00000000`59fef780 00000000`4320f7ba : 00000007`1e5a8f90 00000007`00000000 00000007`1e5a92a8 00000000`e3cb5255 : 0x00000002`4320f795
00000000`59fef788 00000007`1e5a8f90 : 00000007`00000000 00000007`1e5a92a8 00000000`e3cb5255 00000007`1e5a9218 : 0x4320f7ba
00000000`59fef790 00000007`00000000 : 00000007`1e5a92a8 00000000`e3cb5255 00000007`1e5a9218 00000000`00000001 : 0x00000007`1e5a8f90
00000000`59fef798 00000007`1e5a92a8 : 00000000`e3cb5255 00000007`1e5a9218 00000000`00000001 00000000`4329305b : 0x00000007`00000000
00000000`59fef7a0 00000000`e3cb5255 : 00000007`1e5a9218 00000000`00000001 00000000`4329305b 00000002`19497a88 : 0x00000007`1e5a92a8
00000000`59fef7a8 00000007`1e5a9218 : 00000000`00000001 00000000`4329305b 00000002`19497a88 00000000`01d189f8 : 0xe3cb5255
00000000`59fef7b0 00000000`00000001 : 00000000`4329305b 00000002`19497a88 00000000`01d189f8 01cd428a`2c12330a : 0x00000007`1e5a9218
00000000`59fef7b8 00000000`4329305b : 00000002`19497a88 00000000`01d189f8 01cd428a`2c12330a 00000000`00000000 : 0x1
00000000`59fef7c0 00000002`19497a88 : 00000000`01d189f8 01cd428a`2c12330a 00000000`00000000 00000002`19497bc0 : 0x4329305b
00000000`59fef7c8 00000000`01d189f8 : 01cd428a`2c12330a 00000000`00000000 00000002`19497bc0 00000007`18038448 : 0x00000002`19497a88
00000000`59fef7d0 01cd428a`2c12330a : 00000000`00000000 00000002`19497bc0 00000007`18038448 4320f726`3f400000 : 0x1d189f8
00000000`59fef7d8 00000000`00000000 : 00000002`19497bc0 00000007`18038448 4320f726`3f400000 00000007`1e5a9170 : 0x01cd428a`2c12330a
FOLLOWUP_IP:
ws2_32!DSOCKET::DestroyDSocket+13
000007fe`ff306d93 4883c428 add rsp,28h
SYMBOL_STACK_INDEX: 2
SYMBOL_NAME: ws2_32!DSOCKET::DestroyDSocket+13
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: ws2_32
IMAGE_NAME: ws2_32.dll
DEBUG_FLR_IMAGE_TIMESTAMP: 4a5be095
STACK_COMMAND: ~77s; .ecxr ; kb
FAILURE_BUCKET_ID: STATUS_HEAP_CORRUPTION_AFTER_CALL_c0000374_ws2_32.dll!DSOCKET::DestroyDSocket
BUCKET_ID: X64_APPLICATION_FAULT_STATUS_HEAP_CORRUPTION_AFTER_CALL_ws2_32!DSOCKET::DestroyDSocket+13
WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOne/java_exe/6_0_270_7/4e253d37/ntdll_dll/6_1_7600_16695/4cc7b325/c0000374/000c6ab2.htm?Retriage=1
我怀疑NIO或Jetty是导致此崩溃的原因,我希望能够读取丢失的堆栈行(在此行下:nio!Java_sun_nio_ch_IOUtil_configureBlocking + 0x5b),以了解哪个类/函数正在调用它,看到:错误:无法找到符号文件..
感谢。
答案 0 :(得分:1)
答案 1 :(得分:0)
您只能与Oracle支持小组联系,以了解他们是否可以提供帮助,
https://forums.oracle.com/forums/thread.jspa?messageID=10080305
似乎没有可用的公共符号文件。
答案 2 :(得分:0)
您可以使用IBM SDK获取java pdb文件,并将JAVA_HOME设置为从IBM SDK指向JDK