查找java.pdb文件,分析一个崩溃的hdmp文件



我正在尝试分析包含java崩溃的.hdmp文件(windows崩溃转储)。我看到了堆栈转储崩溃和所有的dll/模块,但没有看到java模块,如(jvm、nio等)

当我使用windbg或Visual Studio时,它会大喊缺少jdk/jre中不存在的java符号/.pdb文件。我在互联网上看到了一些关于获得调试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:odedappcrashWER24CD.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_IIOutil_configureBlocking+0x5b),以了解是哪个类/函数在调用它,请注意:错误:找不到符号文件。。

谢谢。

您可以尝试调试OpenJDK。它有用于Windows构建的pdb文件。然而,这些构建不是官方的,可能不会重现你所得到的确切错误。

https://github.com/alexkasko/openjdk-unofficial-builds

您只能联系Oracle支持,看看他们是否能提供帮助,

https://forums.oracle.com/forums/thread.jspa?messageID=10080305

似乎没有可用的公共符号文件。

您可以使用IBM SDK获取java pdb文件,并将java_HOME设置为从IBM SDK 指向JDK

相关内容

最新更新