c# System.Runtime.InteropServices.COMException error in wind



我是C#的新手。

我正在编写一个使用来自第三方的com对象的软件。

在Visual Studio中它运行良好时,当我在另一台计算机上尝试(我将所有源文件复制到其中(时,应用程序在启动时崩溃,并显示" 问题事件名称:CLR20r3"。

搜索后我发现了windbg,我尝试调试并得出了以下结果;

最后你可以看到,System.Runtime.InteropServices.COMException。 我搜索了错误代码,但无法得出任何结果。 谁能帮助我了解问题可能是什么或指导我如何使用windbg详细介绍此问题?

ModLoad: 76d70000 76df3000   C:Windowssystem32CLBCatQ.DLL
ModLoad: 76c10000 76c9f000   C:Windowssystem32OLEAUT32.dll
(724.638): C++ EH exception - code e06d7363 (first chance)
(724.638): CLR exception - code e0434352 (first chance)
ModLoad: 74b30000 74b39000   C:Windowssystem32VERSION.dll
ModLoad: 5e180000 5e22a000   C:WindowsMicrosoft.NETFrameworkv4.0.30319diasymreader.dll
(724.638): CLR exception - code e0434352 (!!! second chance !!!)
eax=0017ee5c ebx=00000005 ecx=00000005 edx=00000000 esi=0017ef08 edi=00317b00
eip=758eb760 esp=0017ee5c ebp=0017eeac iopl=0         nv up ei pl nz na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000206
KERNELBASE!RaiseException+0x58:
758eb760 c9              leave
0:000> .loadby sos clr
0:000> !CLRStack
OS Thread Id: 0x638 (0)
Child SP IP       Call Site
0017efd0 758eb760 [HelperMethodFrame: 0017efd0] 
0017f020 002d00fc checkAtmModules.Form1..ctor()*** WARNING: Unable to verify checksum for checkAtmModules.exe
[C:UsersSDDocumentsVisual Studio 2010ProjectscheckAtmModulescheckAtmModulesForm1.cs @ 20]
0017f030 002d00a6 checkAtmModules.Program.Main() [C:UsersSDDocumentsVisual Studio 2010ProjectscheckAtmModulescheckAtmModulesProgram.cs @ 18]
0017f268 5d3e21db [GCFrame: 0017f268] 
0:000> !threads
ThreadCount:      2
UnstartedThread:  0
BackgroundThread: 1
PendingThread:    0
DeadThread:       0
Hosted Runtime:   no
PreEmptive   GC Alloc                Lock
ID  OSID ThreadOBJ    State GC           Context       Domain   Count APT Exception
0    1   638 00317b00      6020 Enabled  01eb7ef0:01eb7fe8 003112a0     0 STA System.Runtime.InteropServices.COMException (01e9d454)
2    2  13d4 00351750      b220 Enabled  00000000:00000000 003112a0     0 MTA (Finalizer)

在深入了解 WinDBG 之前,请尝试使用 DebugDiag (http://debugdiag.com( 创建崩溃报告,它将以更友好的形式为您提供来自转储的信息。 在 WinDBG 中,可以尝试!PrintException以获取有关托管异常的详细信息,也可以尝试kb命令来查看非托管堆栈。在 WinDbg 的 MEX 调试扩展中,可以找到!ClrStack2命令。在 SOSEX 扩展中,有一个显示托管和非托管堆栈帧的!mk命令。

但很可能您的(3-d 方(COM 安装不正确。我会使用 Fuslogvw.exe 和/或 procmon.exe 在异常发生之前监视应用程序正在执行的操作,或者只是使用适当的安装程序在新计算机上安装您的 COM。

相关内容

最新更新