系统调用了一个自定义组件,而该组件
失败并生成异常。这表示发动机有问题
自定义组件。通知此组件的开发人员发生故障
服务器应用程序ID:{8CC02F18-2733-4A17-9E5C-1A70CB6B6977}
服务器应用程序实例ID:{1940A147-8A5E-45FA-86FE-DAF92A822597}
此错误的严重性质导致进程终止。
地址:0x758DA3DA
资料来源:康普卢斯
级别:错误
旁边是另一根木头,特别是在进程空间...
错误应用程序名称:进程空间,版本:6.0.6000.16386,时间戳:0x4549b14e
异常代码:0xc0000005
故障偏移量:0x0000a3da
出错进程id:0x83c
故障应用程序开始时间:0x01cb50c507ee0166
出错的模块路径:%12
我知道它在C运行时(msvcrt)中标记失败,但理想情况下,我需要将其追溯到调用到msvcrt的DLL中(可能有错误的数据/参数)。那么,在不安装调试器的情况下,有没有办法识别导致这种情况的DLL呢?我想看看是否有一个内存转储的地方,我可以用来分析离线-从而联系到特定的地址。但如果没有这些,我不确定这是可能的。
当托管应用程序崩溃时,是否可以告诉COM子系统生成一个小型转储?
(是的,它可以[可能]-“转储”选项卡上有一个复选框)。
这是在WindowsServer2008R132位上的(但也对Server2003感兴趣)。
它不会影响应用程序的可用性--COM+只需重新启动dllhost,应用程序就会继续运行,但这是一个需要解决的问题。
编辑
好吧,我有一个紧急停车场,我有windbg,但这没用。我不知道我是不是很厚(一种可能性)或是其他的东西:-)输出的
!analyze -v
在下面,但它没有显示我在我们的DLL中的任何内容,虽然它看起来似乎还没有能够解决故障的IP?我不知道下一步该转向哪里。
我想知道我的pdb是否有可疑之处,是否值得生成新的——连接到Microsoft的symbol server,所以它们不应该是,但不确定它(显然)为哪个模块报告了错误的符号(BUGCHECK \u STR和PRIMARY \u PROBLEM \u CLASS)(或者这些符号是最初运行代码的服务器上的吗?)。把pdb放在服务器上会更好吗?
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
FAULTING_IP:
+5c112faf02e0d82c
00000000 ?? ???
EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 00000000
ExceptionCode: 80000003 (Break instruction exception)
ExceptionFlags: 00000000
NumberParameters: 0
FAULTING_THREAD: 00000f1c
DEFAULT_BUCKET_ID: WRONG_SYMBOLS
PROCESS_NAME: dllhost.exe
ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION} Breakpoint A breakpoint has been reached.
EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - One or more arguments are invalid
MOD_LIST: <ANALYSIS/>
NTGLOBALFLAG: 0
APPLICATION_VERIFIER_FLAGS: 0
MANAGED_STACK: !dumpstack -EE
OS Thread Id: 0xf1c (0)
Current frame:
ChildEBP RetAddr Caller,Callee
LAST_CONTROL_TRANSFER: from 77b15620 to 77b15e74
PRIMARY_PROBLEM_CLASS: WRONG_SYMBOLS
BUGCHECK_STR: APPLICATION_FAULT_WRONG_SYMBOLS
STACK_TEXT:
0022fa68 77b15620 77429884 00000064 00000000 ntdll!KiFastSystemCallRet
0022fa6c 77429884 00000064 00000000 00000000 ntdll!NtWaitForSingleObject+0xc
0022fadc 774297f2 00000064 ffffffff 00000000 kernel32!WaitForSingleObjectEx+0xbe
0022faf0 778e2c44 00000064 ffffffff 00e42374 kernel32!WaitForSingleObject+0x12
0022fb0c 778e2e32 00060848 0022fb5b 00000000 ole32!CSurrogateProcessActivator::WaitForSurrogateTimeout+0x55
0022fb24 00e413a4 0022fb40 00000000 00061d98 ole32!CoRegisterSurrogateEx+0x1e9
0022fcb0 00e41570 00e40000 00000000 00061d98 dllhost!WinMain+0xf2
0022fd40 7742d0e9 7ffde000 0022fd8c 77af19bb dllhost!_initterm_e+0x1a1
0022fd4c 77af19bb 7ffde000 dc2ccd29 00000000 kernel32!BaseThreadInitThunk+0xe
0022fd8c 77af198e 00e416e6 7ffde000 ffffffff ntdll!__RtlUserThreadStart+0x23
0022fda4 00000000 00e416e6 7ffde000 00000000 ntdll!_RtlUserThreadStart+0x1b
STACK_COMMAND: .cxr 00000000 ; kb ; dt ntdll!LdrpLastDllInitializer BaseDllName ; dt ntdll!LdrpFailureData ; ~0s; .ecxr ; kb
FOLLOWUP_IP:
dllhost!WinMain+f2
00e413a4 ff15a410e400 call dword ptr [dllhost!_imp__CoUninitialize (00e410a4)]
SYMBOL_STACK_INDEX: 6
SYMBOL_NAME: dllhost!WinMain+f2
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: dllhost
IMAGE_NAME: dllhost.exe
DEBUG_FLR_IMAGE_TIMESTAMP: 4549b14e
FAILURE_BUCKET_ID: WRONG_SYMBOLS_80000003_dllhost.exe!WinMain
BUCKET_ID: APPLICATION_FAULT_WRONG_SYMBOLS_dllhost!WinMain+f2