12

尝试加载 ASP.NET MVC 网站时出现以下异常:

w3wp.exe 中 0x07070a91 处的未处理异常:0xC0000005:访问冲突读取位置 0x00000000。

Visual Studio 即时调试器打开,我可以在调试器中看到的唯一信息是:

调用堆栈位置:

msvbvm60.dll!06c00a91()

该网站使用了一些 COM 对象,直到上周一切正常。这个问题突然出现了。

这是来自 Windows 事件查看器的错误日志:

错误应用程序名称:w3wp.exe,版本:7.5.7601.17514,时间戳:0x4ce7a5f8
错误模块名称:MSVBVM60.DLL,版本:6.0.98.15,时间戳:0x4a5bda6c
异常代码:0xc0000005
错误偏移:0x00030a91
错误进程 id:0x1a0
错误应用程序启动时间:0x01cd31fcb47f66d8
错误应用程序路径:C:\Windows\SysWOW64\inetsrv\w3wp.exe
错误模块路径:C:\Windows\system32\MSVBVM60.DLL
报告 ID:f5db0ae3-9def-11e1-ad79-005056c00008

您有什么建议可以帮助解决此问题吗?

编辑:我设法解决了这个问题,现在一切正常。该解决方案涉及调整自定义 dll 正常运行所需的一些注册表设置。所以这个问题实际上并没有突然出现,我只是没有意识到一些注册表值被修改了,这导致了一个 com dll 崩溃。

4

7 回答 7

15

在 IIS 管理器中打开为应用程序提供服务的应用程序池的高级设置对话框,并设置:启用 32 位应用程序True

于 2015-07-31T09:54:31.040 回答
12

您在上面提供的信息不足以提供根本原因,但是如果您可以提供有关异常的更多信息,您可能会得到此失败的确切原因。您要求提供解决此问题的建议,因此它们是:

您可以使用以下 3 种工具中的任何一种来解决此问题:

  1. IIS调试诊断工具v1.2

    以下是有关如何使用此工具的更多信息:http: //support.microsoft.com/kb/919790

  2. 调试诊断

    使用下面的链接了解如何将 w3wp 进程(它是用户模式进程)与 DebugDiag 挂钩并收集有关崩溃的更多信息:

    http://msdn.microsoft.com/en-us/library/ff420662.aspx

  3. WinDBG

    这是一个链接,它将帮助您在 WinDBG 中加载 W3WP 进程并使用一些命令来提取有关崩溃的更多信息:

    http://blog.whitesites.com/Debugging-Faulting-Application-w3wp-exe-Crashes__634424707278896484_blog.htm

获得有关异常的更多信息后,您可以在上面添加并获得及时帮助。

于 2012-05-21T20:16:08.037 回答
3

请执行下列操作,

1) 授予 Temp 和 %temp% 文件夹的完全权限

2) 转到应用程序池属性并将“启用 32 位应用程序”更改为 true

于 2015-04-15T13:43:32.103 回答
2

当此问题再次发生时,您可以先捕获故障转储,

http://support.microsoft.com/kb/2580960

第 1 步是使用 Debug Diag 1.2 正确设置崩溃规则。

获得转储后,如果您熟悉转储分析,则可以使用 WinDbg(Windows 调试工具的一部分)对其进行分析。

如果您无法分析,我的建议是您通过http://support.microsoft.com打开支持案例并与 Microsoft 支持工程师共享转储。

于 2012-05-21T01:16:19.610 回答
2

就我而言,安装了一个名为“Web Companion”的程序。

卸载后,问题就解决了。

于 2016-07-27T12:16:03.420 回答
0

我的解决方案是如果你想在 64 位上构建它:

调试 ==> 选项 ==> 搜索 iis ==> 启用 64 位版本的 IIS Express

于 2017-01-25T10:32:45.640 回答
-1

在我的情况下,它发生是因为代码上有一个无限循环

于 2021-11-26T20:20:34.423 回答