尝试加载ASP.NET MVC网站时出现以下异常:
w3wp.exe中0x07070a91处的未处理异常:0xC0000005:Access 违规读取位置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崩溃。
答案 0 :(得分:12)
在IIS管理器中打开为应用程序提供服务的应用程序池的“高级设置”对话框,并将启用32位应用程序设置为 True 强>
答案 1 :(得分:11)
您在上面提供的信息不足以提供根本原因,但是如果您可以提供有关该例外的更多信息,则可能会获得此失败的确切原因。您询问了解决此问题的建议,因此它们是:
您可以使用3种工具中的任何一种来解决此问题:
IIS调试诊断工具v1.2
以下是有关如何使用此工具的更多信息: http://support.microsoft.com/kb/919790
DebugDiag资料
使用以下链接了解如何使用DebugDiag挂钩您的w3wp进程(它是用户模式进程)并收集有关崩溃的更多信息:
的WinDBG
这是一个链接,可以帮助您在WinDBG中加载W3WP进程并使用一些命令来提取有关崩溃的更多信息:
获得有关异常的更多信息后,您可以在上面添加并获得提示帮助。
答案 2 :(得分:3)
执行以下操作,
1)赋予Temp& amp; %temp%文件夹
2)转到应用程序池属性&将“启用32位应用程序”更改为true
答案 3 :(得分:2)
您可以从再次发生此问题时捕获故障转储开始,
http://support.microsoft.com/kb/2580960
使用Debug Diag 1.2正确设置崩溃规则是第1步。
如果您熟悉转储分析,则可以使用WinDbg(Windows调试工具的一部分)进行分析。
如果您无法对此进行分析,我的建议是您通过http://support.microsoft.com打开支持案例并与Microsoft支持工程师共享转储。
答案 4 :(得分:1)
在我的案例中,一个名为" Web Companion"已安装。
卸载后,问题得到解决。
答案 5 :(得分:1)
我的解决方案是,如果您想在64位上构建它:
调试==>选项==>搜索iis ==>启用64位版本的IIS Express