【发布时间】:2011-02-26 07:46:39
【问题描述】:
实际问题:
当程序因未捕获的异常而崩溃时,“在 Windows 中”会发生什么?
是否有一个我可以挂钩的 dll 函数来记录有关崩溃的一些基本信息?
上下文:
我正计划编写一个程序,该程序将收集有关在我的本地 PC 上崩溃的任何应用程序的一些非常基本的信息。我希望我可以执行一个简单的方法来记录有关崩溃的一些信息,其方式类似于 Visual Studio 生成对话框的方式,让您在程序崩溃时对其进行调试。
【问题讨论】:
-
您的问题似乎与 .net 无关,因为您本地 PC 上的许多应用程序不一定是 .net 应用程序。
-
是的,你是对的。澄清一下,我对 .net 应用程序造成的崩溃最感兴趣,因为它们很可能是由我造成的。
-
AFAIK,.Net 未捕获的异常不是崩溃。当操作系统本身捕获 SEH 异常并调用 TerminateProcess 时,就会发生崩溃。 .Net 异常被 CLR 捕获,并导致调用 ExitProcess - 更好的退出。