- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
摘要:
我定期在我似乎无法调试的应用程序上收到 .NET 致命执行引擎错误。出现的对话框仅提供关闭程序或向 Microsoft 发送有关错误的信息。我尝试查看更详细的信息,但我不知道如何使用它。
错误:
该错误在“应用程序”下的“事件查看器”中可见,如下所示:
.NET Runtime version 2.0.50727.3607 - Fatal Execution Engine Error (7A09795E) (80131506)
运行它的计算机是 Windows XP Professional SP 3。(Intel Core2Quad Q6600 2.4GHz w/2.0 GB RAM)其他缺乏多线程下载的基于 .NET 的项目(见下文)似乎运行得很好。
应用:
该应用程序是使用 VS2008 用 C#/.NET 3.5 编写的,并通过安装项目安装。
该应用是多线程的,并使用 System.Net.HttpWebRequest 及其方法从多个 Web 服务器下载数据。我已经确定 .NET 错误与线程或 HttpWebRequest 有关,但我无法更接近,因为这个特定错误似乎无法调试。
我尝试过处理多个级别的错误,包括 Program.cs 中的以下错误:
// handle UI thread exceptions
Application.ThreadException += Application_ThreadException;
// handle non-UI thread exceptions
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// force all windows forms errors to go through our handler
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
更多注释和我尝试过的...
问题:
我可以采取哪些步骤来排除或调试此类错误?内存转储等似乎是下一步,但我没有解释它们的经验。也许我可以在代码中做更多的事情来 try catch 错误...如果“致命执行引擎错误”能提供更多信息,那就太好了,但互联网搜索只告诉我这是很多人的常见错误.NET 相关项目。
最佳答案
好吧,你有一个大问题。当 CLR 检测到垃圾收集堆完整性受到损害时,会引发该异常。堆损坏是任何用 C 或 C++ 等非托管语言编写代码的程序员的祸根。
这些语言非常很容易损坏堆,所需要的只是在堆上分配的数组末尾写入。或者在内存被释放后使用它。或者指针的值不好。托管代码的发明就是为了解决这种 bug。
但是从你的问题来看,你正在使用托管代码。嗯,大多数情况下,您的代码是受管理的。但是您正在执行大量非托管代码。所有实际使 HttpWebRequest 工作的低级代码都是非托管的。 CLR 也是如此,它是用 C++ 编写的,因此从技术上讲也有可能损坏堆。但在对它进行了四千多次修订以及数百万个程序使用它之后,它仍然遭受堆虱子困扰的可能性非常很小。
对于所有其他需要 HttpWebRequest 的非托管代码来说,情况并非如此。您不了解这些代码,因为它不是您编写的,也没有被 Microsoft 记录。你的防火墙。您的病毒扫描程序。贵公司的互联网使用监控。天知道谁的“下载加速器”。
隔离问题,假设导致问题的既不是您的代码,也不是 Microsoft 的代码。假设它是环保第一并摆脱垃圾软件。
有关史诗般的环境费用故事,请阅读 this thread .
关于.net - .NET 故障排除 "Fatal Execution Engine Error",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2823440/
reqwest v0.9 将 serde v1.0 作为依赖项,因此实现 converting serde_json errors into reqwest error . 在我的代码中,我使用 se
我有这个代码: let file = FileStorage { // ... }; file.write("Test", bytes.as_ref()) .map_err(|e| Mu
我只是尝试用angular-cli创建一个新项目,然后运行服务器,但是它停止并显示一条有趣的消息:Error: No errors。 我以这种方式更新了(希望有帮助):npm uninstall -g
我从我的 javascript 发送交易 Metamask 打开传输对话框 我确定 i get an error message in metamask (inpage.js:1 MetaMask -
这个问题在这里已经有了答案: How do you define custom `Error` types in Rust? (3 个答案) How to get a reference to a
我想知道两者之间有什么大的区别 if let error = error{} vs if error != nil?或者只是人们的不同之处,比如他们如何用代码表达自己? 例如,如果我使用这段代码: u
当我尝试发送超过 50KB 的图像时,我在 Blazor 服务器应用程序上收到以下错误消息 Error: Connection disconnected with error 'Error: Serv
我有一个error-page指令,它将所有异常重定向到错误显示页面 我的web.xml: [...] java.lang.Exception /vi
我有这样的对象: address: { "phone" : 888, "value" : 12 } 在 WHERE 中我需要通过 address.value 查找对象,但是在 SQL 中有函数
每次我尝试编译我的代码时,我都会遇到大量错误。这不是我的代码的问题,因为它在另一台计算机上工作得很好。我尝试重新安装和修复,但这没有帮助。这是整个错误消息: 1>------ Build starte
在我的代码的类部分,如果我写一个错误,则在不应该的情况下,将有几行报告为错误。我将'| error'放在可以从错误中恢复的良好/安全位置,但是我认为它没有使用它。也许它试图在某个地方恢复中间表情? 有
我遇到了 csv 输入文件整体读取故障的问题,我可以通过在 read_csv 函数中添加 "error_bad_lines=False" 来删除这些问题来解决这个问题。 但是我需要报告这些造成问题的文
在 Spring 中,验证后我们在 controller 中得到一个 BindingResult 对象。 很简单,如果我收到验证错误,我想重新显示我的表单,并在每个受影响的字段上方显示错误消息。 因此
我不知道出了什么问题,因为我用 Java 编程了大约一年,从来没有遇到过这个错误。在一分钟前在 Eclipse 中编译和运行工作,现在我得到这个错误: #A fatal error has been
SELECT to_char(messages. TIME, 'YYYY/MM/DD') AS FullDate, to_char(messages. TIME, 'MM/DD
我收到这些错误: AnonymousPath\Anonymized.vb : error BC30037: Character is not valid. AnonymousPath\Anonymiz
我刚刚安装了 gridengine 并在执行 qstat 时出现错误: error: commlib error: got select error (Connection refused) erro
嗨,我正在学习 PHP,我从 CRUD 系统开始,我在 Windows 上安装了 WAMP 服务器,当我运行它时,我收到以下错误消息。 SCREAM: Error suppression ignore
我刚刚开始一个新项目,我正在学习核心数据教程,可以找到:https://www.youtube.com/watch?v=zZJpsszfTHM 我似乎无法弄清楚为什么会抛出此错误。我有一个名为“Exp
当我使用 Jenkins 运行新构建时,出现以下错误: "FilePathY\XXX.cpp : fatal error C1853: 'FilePathZ\XXX.pch' precompiled
我是一名优秀的程序员,十分优秀!