我在申请的一部分过去几天遇到了一些严重的问题。它是一个中等大小的ASP.NET应用程序。有一些代码可以处理错误(将它们记录到数据库中并向用户显示错误页面)。但是最近这段代码在某些机器上停止了正常工作(而不是所有机器)。
我知道来自AccessViolationException
的{{1}}:
ErrorViewer
每次应用程序尝试显示错误页面时,此错误都会记录到错误查看器中。但由于错误仅发生在使用Faulting application name: w3wp.exe, version: 7.5.7601.17514, time stamp: 0x4ce7afa2
Faulting module name: KERNELBASE.dll, version: 6.1.7601.17651, time stamp: 0x4e21213c
Exception code: 0xc0000005
Fault offset: 0x000000000000cacd
Faulting process id: 0x1150
Faulting application start time: 0x01cd1e44675765e2
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path: C:\Windows\system32\KERNELBASE.dll
Report Id: c43403ad-8a37-11e1-b256-005056891270
安装程序部署的应用程序上,并且dll文件正在加密,因此无法调试此应用程序。稍微更改代码我将初始方法重构为简单的单行程序:
msi
但仍然进入此方法会抛出此堆栈跟踪异常(使用DebugDiag 1.2获得)
Public Shared Function HandleException(ByVal exception As System.Exception) As Guid
Return New GUID
End Function
这对我来说似乎很奇怪。然后我删除了这个方法调用,突然应用程序开始正常工作(但没有像我想的那样处理错误)。事情是 - 完全相同的代码工作多年,它没有改变一点,只是停止在一些机器上工作
更令人好奇的是:如何调用如上所述的简单方法,只返回简单的GUID,可以抛出at (Exception )
at MyApp.Business.Utilities.HandleException(Exception exception)
at ()
at MyApp.BaseUtilities.ErrorSolution()
at (ErrorPage_errorpage , Object , EventArgs )
at MyApp.ErrorPage_errorpage.Page_Load(Object , EventArgs )
at System.EventHandler.Invoke(Object sender, EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
at System.Web.HttpApplication.PipelineStepManager.ResumeSteps(Exception error)
at System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb)
at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr pHandler, RequestNotificationStatus& notificationStatus)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
?
是否有人在申请时遇到类似问题?有人可以向我解释为什么会发生这样的事情吗?
答案 0 :(得分:1)
错误出现了神秘,并且在一些轻微的代码更改后也神秘地消失了(这没有改变代码执行的内容和方式)。在我的团队或其他开发人员中,没有人向我展示这个问题,他们无法相信他们看到的内容。
似乎宇宙中还有一点魔力......