如何解决 .NET 运行时中的内部错误

Jim*_*m W 6 windows-xp .net-framework

几周前,我公司的笔记本电脑开始出现一些奇怪的问题。我无法再启动 Microsoft Developer Web Server(通过 Visual Studio->Debug)。后来我发现我无法执行任何 .NET 应用程序。

在查看我的 dmp 文件后与 Microsoft CLR 专家交谈时,他说

  1. 当加载到您的进程中时,.exe 文件中偏移量 0×168 处的 8 个字节被设置为 0。这是导致 CLR 失败的问题。这些位在您提供给我的文件中设置正确。

  2. C:\Windows\System32\Detoured.dll 被加载到进程中。这对我来说意味着 detours 库正在您的机器上用于修改这些进程的行为。

我还发现,当我启动到安全模式时,一切正常。

此外,我发现如果我右键单击一个 .NET 可执行文件,然后选择“运行方式”并输入我当前登录的用户凭据,则该应用程序可以正常工作。如果我只是双击应用程序,它就不起作用。

有很多系统事件消息和 Dr. Watson 类型错误。这是我得到的一些:

从 Visual Studio 启动 MS Developer Web Server 时,消息框弹出窗口显示:

WebDev.WebServer40.exe has encountered a problem and needs
to close. We are sorry for the inconvenience.
Run Code Online (Sandbox Code Playgroud)

VSHost 系统事件日志条目:

Event 1:
Application: MyWebSite.vshost.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an internal error
in the .NET Runtime at IP 791A8BBD (79140000) with exit code 80131506.

Event 2:
Faulting application MyWebSite.vshost.exe, version 10.0.30319.1, 
stamp 4ba2084b, faulting module clr.dll, version 4.0.30319.1, 
stamp 4ba1d9ef, debug? 0, fault address 0x00068bbd.
Run Code Online (Sandbox Code Playgroud)

用于运行第三方应用程序的系统事件日志条目:

Source: Application Popup
Description: Application popup: #APPNAME#.exe – Application Error : The 
application failed to initialize properly (0xc000007b). Click on OK 
to terminate the application.
Run Code Online (Sandbox Code Playgroud)

我构建的使用 .NET v4 Framework 系统事件日志的应用程序说:

Source: .NET Runtime
Framework Version: v4.0.30319
Description: The process was terminated due to an internal error in the 
.NET Runtime at IP 791A8BBD (7914000) with exit code 80131506.
Run Code Online (Sandbox Code Playgroud)

我构建的使用 .NET v2 Framework 系统事件日志的应用程序说:

Source: .NET Runtime
Description: .NET Runtime version 2.0.50727.3053 – Fatal Execution 
Engine Error (7A097706) (80131506)
Run Code Online (Sandbox Code Playgroud)

这是我博客上更多详细信息- 包括我迄今为止尝试过的所有内容以及更多详细信息和叙述。

就还原点而言,我最旧的还原点是几周前,当时我仍然有这个问题,所以我认为还原那个点不会有太大帮助。

如何找出导致问题的进程,然后修复计算机?

har*_*ymc 3

既然你说问题在安全模式下不会发生,那么很明显这是由安装的应用程序、加载项或驱动程序引起的。

鉴于您在这个项目上已经投入的精力,我建议您重新格式化硬盘并重新安装XP,然后将所有产品一一重新安装,重新启动检查问题是否再次出现。或者,您可以使用 Revo Uninstaller 卸载产品,但即使是 Revo 也可能会错过特别隐蔽的安装。

坦率地说,启动时被修改的可执行文件有病毒感染的味道,这就是为什么我特别建议在这种情况下重新格式化。