vb.net之在生产环境中调试 CLR20r3 System.InvalidOperationException

zhujiabin 阅读:16 2024-11-01 17:39:52 评论:0

我们有一个生产 VS2008 VB.Net 应用程序,它安装在许多(数百)台客户端计算机上。一位客户最近在他的 Win 7 桌面上安装了该应用程序。安装完成,没有错误。但是,当他尝试运行该应用程序时,他收到以下错误消息“应用程序名称已停止工作”。我在下面包含了事件日志文件的内容。在我的研究中,似乎这种类型的错误可能是由多种原因引起的——不良或缺少依赖项、缺少 .net 框架、权限、错误的图标、缺少字体。

我的问题是:有没有一种方法可以在生产环境中有效地解决这个问题?我知道应用程序安装很好;即使是这个客户也可以在另一台计算机上运行该应用程序。相应的 .net 框架显示为正在安装。我可以让他重新安装 .net 框架,但我想更好地处理正在发生的事情。

这是事件日志文件的内容:

Version=1   
EventType=CLR20r3   
EventTime=130163188478462012   
ReportType=2   
Consent=1   
ReportIdentifier=31c14aab-daae-11e2-b34f-d48564179a03   
WOW64=1   
Response.type=4   
Sig[0].Name=Problem Signature 01   
Sig[0].Value=planguru2013.exe 
Sig[1].Name=Problem Signature 02 
Sig[1].Value=3.0.0.2 
Sig[2].Name=Problem Signature 03 
Sig[2].Value=51b6342b 
Sig[3].Name=Problem Signature 04 
Sig[3].Value=PlanGuru2013 
Sig[4].Name=Problem Signature 05 
Sig[4].Value=3.0.0.2 
Sig[5].Name=Problem Signature 06 
Sig[5].Value=51b6342b 
Sig[6].Name=Problem Signature 07 
Sig[6].Value=a0 
Sig[7].Name=Problem Signature 08 
Sig[7].Value=c6 
Sig[8].Name=Problem Signature 09 
Sig[8].Value=System.InvalidOperationException 
DynamicSig[1].Name=OS Version 
DynamicSig[1].Value=6.1.7601.2.1.0.768.3 
DynamicSig[2].Name=Locale ID 
DynamicSig[2].Value=1033 
UI[2]=C:\Program Files (x86)\New Horizon\PlanGuru 2013\PlanGuru2013.exe 
UI[3]=PlanGuru 2013 has stopped working 
UI[4]=Windows can check online for a solution to the problem. 
UI[5]=Check online for a solution and close the program 
UI[6]=Check online for a solution later and close the program 
UI[7]=Close the program 
LoadedModule[0]=C:\Program Files (x86)\New Horizon\PlanGuru 2013\PlanGuru2013.exe 
LoadedModule[1]=C:\Windows\SysWOW64\ntdll.dll 
LoadedModule[2]=C:\Windows\SYSTEM32\MSCOREE.DLL 
LoadedModule[3]=C:\Windows\syswow64\KERNEL32.dll 
LoadedModule[4]=C:\Windows\syswow64\KERNELBASE.dll 
LoadedModule[5]=C:\Windows\system32\apphelp.dll 
LoadedModule[6]=C:\Windows\AppPatch\AcGenral.DLL 
LoadedModule[7]=C:\Windows\SysWOW64\sechost.dll 
LoadedModule[8]=C:\Windows\syswow64\msvcrt.dll 
LoadedModule[9]=C:\Windows\syswow64\RPCRT4.dll 
LoadedModule[10]=C:\Windows\syswow64\SspiCli.dll 
LoadedModule[11]=C:\Windows\syswow64\CRYPTBASE.dll 
LoadedModule[12]=C:\Windows\syswow64\SHLWAPI.dll 
LoadedModule[13]=C:\Windows\syswow64\GDI32.dll 
LoadedModule[14]=C:\Windows\syswow64\USER32.dll 
LoadedModule[15]=C:\Windows\syswow64\ADVAPI32.dll 
LoadedModule[16]=C:\Windows\syswow64\LPK.dll 
LoadedModule[17]=C:\Windows\syswow64\USP10.dll 
LoadedModule[18]=C:\Windows\system32\UxTheme.dll 
LoadedModule[19]=C:\Windows\system32\WINMM.dll 
LoadedModule[20]=C:\Windows\system32\samcli.dll 
LoadedModule[21]=C:\Windows\syswow64\ole32.dll 
LoadedModule[22]=C:\Windows\syswow64\OLEAUT32.dll 
LoadedModule[23]=C:\Windows\system32\MSACM32.dll 
LoadedModule[24]=C:\Windows\system32\VERSION.dll 
LoadedModule[25]=C:\Windows\syswow64\SHELL32.dll 
LoadedModule[26]=C:\Windows\system32\sfc.dll 
LoadedModule[27]=C:\Windows\system32\sfc_os.DLL 
LoadedModule[28]=C:\Windows\system32\USERENV.dll 
LoadedModule[29]=C:\Windows\system32\profapi.dll 
LoadedModule[30]=C:\Windows\system32\dwmapi.dll 
LoadedModule[31]=C:\Windows\syswow64\SETUPAPI.dll 
LoadedModule[32]=C:\Windows\syswow64\CFGMGR32.dll 
LoadedModule[33]=C:\Windows\syswow64\DEVOBJ.dll 
LoadedModule[34]=C:\Windows\syswow64\urlmon.dll 
LoadedModule[35]=C:\Windows\syswow64\WININET.dll 
LoadedModule[36]=C:\Windows\syswow64\iertutil.dll 
LoadedModule[37]=C:\Windows\syswow64\CRYPT32.dll 
LoadedModule[38]=C:\Windows\syswow64\MSASN1.dll 
LoadedModule[39]=C:\Windows\system32\MPR.dll 
LoadedModule[40]=C:\Windows\system32\IMM32.DLL 
LoadedModule[41]=C:\Windows\syswow64\MSCTF.dll 
LoadedModule[42]=C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscoreei.dll 
LoadedModule[43]=C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll 
LoadedModule[44]=C:\Windows\WinSxS   \x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a\MSVCR80.dll 
LoadedModule[45]=C:\Windows\assembly\NativeImages_v2.0.50727_32\mscorlib\7150b9136fad5b79e88f6c7f9d3d2c39\mscorlib.ni.dll 
LoadedModule[46]=C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorsec.dll 
LoadedModule[47]=C:\Windows\syswow64\WINTRUST.dll 
LoadedModule[48]=C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\COMCTL32.dll 
LoadedModule[49]=C:\Windows\system32\CRYPTSP.dll 
LoadedModule[50]=C:\Windows\system32\rsaenh.dll 
LoadedModule[51]=C:\Windows\syswow64\imagehlp.dll 
LoadedModule[52]=C:\Windows\system32\ncrypt.dll 
LoadedModule[53]=C:\Windows\system32\bcrypt.dll 
LoadedModule[54]=C:\Windows\SysWOW64\bcryptprimitives.dll 
LoadedModule[55]=C:\Windows\system32\GPAPI.dll 
LoadedModule[56]=C:\Windows\system32\cryptnet.dll 
LoadedModule[57]=C:\Windows\syswow64\WLDAP32.dll 
LoadedModule[58]=C:\Windows\system32\SensApi.dll 
LoadedModule[59]=C:\Windows\assembly\NativeImages_v2.0.50727_32\System \369f8bdca364e2b4936d18dea582912c\System.ni.dll 
LoadedModule[60]=C:\Windows\assembly\NativeImages_v2.0.50727_32\Microsoft.VisualBas#\7366a39c36523a084bc11c230929ff92\Microsoft.VisualBasic.ni.dll 
LoadedModule[61]=C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorjit.dll 
LoadedModule[62]=C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Drawing\eead6629e384a5b69f9ae35284b7eeed\System.Drawing.ni.dll 
LoadedModule[63]=C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Windows.Forms\30e3a21202000677d0a9270572251477\System.Windows.Forms.ni.dll 
LoadedModule[64]=C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Runtime.Remo#\90b89f6e8032310e9ac72a309fd49e83\System.Runtime.Remoting.ni.dll 
LoadedModule[65]=C:\Windows\syswow64\ws2_32.dll 
LoadedModule[66]=C:\Windows\syswow64\NSI.dll 
LoadedModule[67]=C:\Windows\system32\mswsock.dll 
LoadedModule[68]=C:\Windows\System32\wshtcpip.dll 
LoadedModule[69]=C:\Windows\System32\wship6.dll 
LoadedModule[70]=C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Configuration\764f15e86c82662e977bd418bd6318c1\System.Configuration.ni.dll 
LoadedModule[71]=C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Xml\f687c43e9fdec031988b33ae722c4613\System.Xml.ni.dll 
LoadedModule[72]=C:\Windows\system32\RpcRtRemote.dll 
LoadedModule[73]=C:\Program Files (x86)\New Horizon\PlanGuru 2013\FarPoint.Win.Spread.dll 
LoadedModule[74]=C:\Program Files (x86)\New Horizon\PlanGuru 2013\FarPoint.Win.dll 
LoadedModule[75]=C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Data\dd20416f723ee13ffb4173ec1afc4ec4\System.Data.ni.dll 
LoadedModule[76]=C:\Windows\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll 
LoadedModule[77]=C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.17825_none_72d273598668a06b\gdiplus.dll 
LoadedModule[78]=C:\Windows\system32\WindowsCodecs.dll 
LoadedModule[79]=C:\Program Files (x86)\New Horizon\PlanGuru 2013\FarPoint.Win.TextRenderer.dll 
LoadedModule[80]=C:\Program Files (x86)\New Horizon\PlanGuru 2013\FarPoint.CalcEngine.dll 
FriendlyEventName=Stopped working 
ConsentKey=CLR20r3 
AppName=PlanGuru 2013 
AppPath=C:\Program Files (x86)\New Horizon\PlanGuru 2013\PlanGuru2013.exe 
ReportDescription=Stopped working 

请您参考如下方法:

要获取异常的内存故障转储,您可以设置以下注册表项以告诉 Windows 错误报告将故障转储保留在 pc 上。

HKLM\SOFTWARE\Microsoft\Windows\Windows 错误报告\ForceQueue = 0x1 HKLM\SOFTWARE\Microsoft\Windows\Windows 错误报告\Consent\DefaultConsent = 0x1

现在,看看:

C:\ProgramData\Microsoft\Windows\WER\ReportQueue

您的崩溃应该在托管转储中。 Visual Studio 应该能够打开故障转储。如果不使用 WinDbg + SOS.dll(位于 .net 框架安装文件夹中)。这将为您提供异常的调用堆栈。


标签:Exception
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号