应用程序崩溃,没有错误 - 处理未处理

时间:2014-03-24 19:14:03

标签: vb.net winforms exception-handling .net-3.5 unhandled-exception

我已经广泛搜索了有关如何尝试捕获所有错误的建议,但我没有找到任何我尚未尝试的内容。


这是我最近在工作中继承的Visual Basic .NET(.NET 3.5)应用程序。他们有这个问题已经有一段时间了,应用程序只会崩溃而没有错误 - 程序只是关闭/消失。

该应用程序已经处理MyApplication.UnhandledException,但没有解决问题。我为AppDomain.CurrentDomain.UnhandledException添加了一个处理程序,看看是否能解决问题,但没有运气,我正在处理System.UnahndledExceptionEventArgs.ExceptionObject可能不属于Exception类型的事实。

没有创建其他线程,也没有创建其他AppDomain。它似乎在使用3-5个小时之间的任何地方崩溃,并且不依赖于用户采取的行动。

尽管如此,还有什么我可以尝试捕获这些错误吗?我的所有专业知识都围绕着C#,因此我不确定是否还有其他任何我可能与VB.NET挂钩或者我错过了其他的东西。

我的另一个问题是:在这些事件中记录错误的正确方法是什么?我通常尝试登录到文件,但是,现有代码和我自己快速尝试捕获未处理的AppDomain异常会触发MessageBox。在我写这篇文章时,我可以看出这可能是我没有被告知错误的原因。

由于

更新1

我终于能够让它崩溃(不在IDE中)并且看到看起来像MessageBox窗口的轮廓在绘制内容之前快速出现并消失。我修改了未处理的异常处理,以便在用户桌面上登录文件。我想在这一点上它更像是一个等待游戏,因为我无法让它在IDE中崩溃。

1 个答案:

答案 0 :(得分:0)

似乎我试图捕获所有异常是正确的。在这些崩溃中触发了AppDomain.CurrentDomain.UnhandledException。我最初尝试弹出一个消息框是有缺陷的。在我更改登录到用户桌面上的文件并且错误报告正确后,它今天崩溃了。


任何人都对崩溃感到好奇 - 由于第三方控制,我似乎耗尽了GDI资源。在初始化控件时随机出现内存不足异常。在我今天发现的错误的情况下,它在打开表单时炸毁了标准TextBox的构造函数。这与我在运行内存分析器时发现的非常小的GDI泄漏相吻合。