我在 java 1.7 上使用 oracle-glassfish3.1.2(我知道这些技术有点过时了),当我启动服务器时我使用详细选项:asadmin start-domain --verbose;
我还使用 asadmin 创建了一项服务,因此 glassfish 作为 Windows 服务运行;
有时服务器会崩溃,我检查了 Windows 日志,发现有一个 memory.hdmp 和 WERE554.tmp.mdmp,我使用 windbg 打开 memory.hdmp 并且我可以看到:
CONTEXT: (.ecxr) rax=00000000019f88d0 rbx=0000000000be5710 rcx=00000000019fc000 rdx=000000002f532501 rsi=000000001a91ec10 rdi=0000000000be5710 rip=00007ffbb97a49b9 rsp=000000001a91eae0 rbp=0000000080070020 r8=0000000000000001 r9=00000000019f8948 r10=00000000019fc078 r11=0000000000000000 r12=00000000e0434f4d r13=ffffffff80070020 r14=0000000000000001 r15=0000000000000001 iopl=0 nv up ei pl nz na pe nc cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000202 KERNELBASE!RaiseException+0x69: 00007ffb`b97a49b9 0f1f440000 nop dword ptr [rax+rax] Resetting default scope
EXCEPTION_RECORD: (.exr -1) ExceptionAddress: 00007ffbb97a49b9 (KERNELBASE!RaiseException+0x0000000000000069) ExceptionCode: e0434f4d (CLR exception) ExceptionFlags: 00000001 NumberParameters: 1 Parameter[0]: ffffffff80070020
PROCESS_NAME: DRM-domain1-GlassFishService.exe
EXCEPTION_CODE_STR: 80070020
FAULTING_THREAD: ffffffff
ADDITIONAL_DEBUG_TEXT: SOS.DLL is not loaded for managed code. Analysis might be incomplete
STACK_TEXT: 0000000000000000 0000000000000000 DRM_domain1_GlassFishService!unknown_function+0x0
STACK_COMMAND: ** Pseudo Context ** ManagedPseudo ** Value: ffffffff ** ; kb
SYMBOL_NAME: DRM_domain1_GlassFishService!unknown_function
MODULE_NAME: DRM_domain1_GlassFishService
IMAGE_NAME: DRM-domain1-GlassFishService.exe
FAILURE_BUCKET_ID: CLR_EXCEPTION_NOSOS_80070020_DRM-domain1-GlassFishService.exe!unknown_function
OS_VERSION: 10.0.17763.1
BUILDLAB_STR: rs5_release
OSPLATFORM_TYPE: x64
OSNAME: Windows 10
IMAGE_VERSION: 1.0.0.0
FAILURE_ID_HASH: {e954e680-c7c8-cf1b-b47d-5ee0880932f0}
但这些信息对我来说没用,有没有办法了解其含义?特别是 ExceptionCode: e0434f4d 的含义是什么,我该怎么做才能解决这个问题?
换句话说,我该如何进一步调查这个问题?任何帮助都非常感谢,我已经在 Google 上搜索过,但没有找到任何有用的提示;
在应用程序日志和 GlassFish 日志中,没有错误,也没有异常,可以说存在内存泄漏或类似情况。