C# 由于InteropServices.sehexException中存在未处理的异常,进程已终止

C# 由于InteropServices.sehexException中存在未处理的异常,进程已终止,c#,.net,error-handling,C#,.net,Error Handling,我已经搜索过了,但是我找不到关于这个错误的任何具体信息,也找不到如何解决它 我们在代码中不同位置的不同计算机上间歇性地遇到此错误 以下是错误: 计算机1: Application: propane.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.Runtime.InteropServices

我已经搜索过了,但是我找不到关于这个错误的任何具体信息,也找不到如何解决它

我们在代码中不同位置的不同计算机上间歇性地遇到此错误

以下是错误:

计算机1:

Application: propane.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Runtime.InteropServices.SEHException
Stack:
   at SSS.Base.FastTrans.PrintReceipt.MakeString()
   at SSS.Base.FastTrans.PrintReceipt.PrintIt()
   at SSS.Base.FastTrans.CCPayment.PrintReceipt()
   at SSS.Base.FastTrans.CCPayment.BottomPanelEnabled()
   at SSS.Base.FastTrans.CCPayment.btnContinue_Click(System.Object, System.EventArgs)
   at System.Windows.Forms.Control.OnClick(System.EventArgs)
   at System.Windows.Forms.Button.OnClick(System.EventArgs)
   at System.Windows.Forms.Button.OnMouseUp(System.Windows.Forms.MouseEventArgs)
   at System.Windows.Forms.Control.WmMouseUp(System.Windows.Forms.Message ByRef, System.Windows.Forms.MouseButtons, Int32)
   at System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.ButtonBase.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Button.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
   at System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
   at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
   at System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
   at System.Windows.Forms.Application.RunDialog(System.Windows.Forms.Form)
   at System.Windows.Forms.Form.ShowDialog(System.Windows.Forms.IWin32Window)
   at SSS.Common.BaseScreen.DynamicallyLoadScreen(System.String, System.String, SSS.Common.BaseScreen, Boolean)
   at SSS.Common.BaseScreen.LoadNewScreen(ScreenOptions, SSS.Common.BaseScreen)
   at SSS.Base.CustomerInquiry.CmdPaymentClick(System.Object, System.EventArgs)
   at System.Windows.Forms.Control.OnClick(System.EventArgs)
   at System.Windows.Forms.Button.OnClick(System.EventArgs)
   at System.Windows.Forms.Button.OnMouseUp(System.Windows.Forms.MouseEventArgs)
   at System.Windows.Forms.Control.WmMouseUp(System.Windows.Forms.Message ByRef, System.Windows.Forms.MouseButtons, Int32)
   at System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.ButtonBase.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Button.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
   at System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
   at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
   at System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
   at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
   at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
   at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(System.String[])
   at Sss.My.MyApplication.Main(System.String[])
计算机2:

Application: propane.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Runtime.InteropServices.SEHException
Stack:
   at SSSObjectLibrary.VerifySalesAndService.VerifySASLibrary(System.String)
   at SSS.Base.CustomerInquiry.CmdServiceOrderClick(System.Object, System.EventArgs)
   at System.Windows.Forms.Control.OnClick(System.EventArgs)
   at System.Windows.Forms.Button.OnClick(System.EventArgs)
   at System.Windows.Forms.Button.OnMouseUp(System.Windows.Forms.MouseEventArgs)
   at System.Windows.Forms.Control.WmMouseUp(System.Windows.Forms.Message ByRef, System.Windows.Forms.MouseButtons, Int32)
   at System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.ButtonBase.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Button.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
   at System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
   at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
   at System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
   at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
   at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
   at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(System.String[])
   at Sss.My.MyApplication.Main(System.String[])
这是两台计算机发出的第二条消息:

Faulting application name: propane.exe, version: 1.0.0.0, time stamp: 0x51ffc85e
Faulting module name: clr.dll, version: 4.0.30319.1008, time stamp: 0x517a1be7
Exception code: 0xc0000006
Fault offset: 0x0004a0c8
Faulting process id: 0xe80
Faulting application start time: 0x01cea9b048cb2d9d
Faulting application path: I:\RPG\vblib\propane.exe
Faulting module path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Report Id: c4a07f4d-1631-11e3-a5f3-1078d270d332
它们来自两个不同办公室的两台不同的计算机。如何对此进行故障排除?我们有一个包装器,它是“假定”的,用于捕获应用程序中所有未处理的错误,并且在这一点上它没有遗漏任何内容。这让我更困惑的是,它是如何做到这一点的

有什么建议吗

出现故障的应用程序路径:I:\RPG\vblib\propain.exe

这可能是异常详细信息中最重要的提示。异常代码(0xc0000006)是一个非常低级的Windows错误,状态为“由于I/O错误,所需数据未放入内存”。当操作系统需要从分页文件或内存映射文件检索数据而无法读取该文件时,会发生此错误

鞋子合适,驱动器号不同寻常,通常用于映射到网络共享。NET程序集作为内存映射文件加载,其中的元数据和MSIL根据jitter的要求从文件中动态加载,以便为程序集中的方法生成代码


换句话说,客户使用的网络不够可靠。当网络连接中断时,程序崩溃。当然,除了强烈建议客户使用本地安装的应用程序外,您无能为力。ClickOnce很好。

SEHException类处理从非托管代码抛出的SEH错误,但这些错误尚未映射到另一个.NET Framework异常。所以你应该检查你的本地代码而不是C#代码

关于这一点我不能告诉你太多,但如果我理解的话,这可能是因为SEH例程中发生了内部异常。内部异常是指SEH例程忙于处理以前捕获的异常时发生的异常。尽管实现了SEH例程,但内部异常可能是此类错误消息的原因。例如,如果SEH例程抛出并接收到
FileNotFoundException
,并且在处理过程中以某种方式发生
IOException
。可以找到简要说明。