C# 应用程序无明显原因退出

标签 c# winforms

我遇到了一个非常可重复的情况,如果我单击 C# WinForms 应用程序中的按钮,该应用程序总是会意外关闭,但也会正常关闭。我所说的优雅是指我在 app_FormClosing 事件中放置了一个断点,然后它就在那里中断。问题是,我不知道是什么导致应用程序关闭!我在我能找到的每个Environment.Exit、Application.Exit、this.Close 上都设置了中断,并且它们都没有在调试器中被命中。该应用程序此时不应关闭,但它会非常重复且干净地关闭。

在 VS2010 中,我启用了所有异常类型的中断,并且没有发生异常。

如何找出导致我的应用程序关闭的原因?有办法追踪吗?

编辑:在 FormClosing 事件期间,e.CloseReason 设置为 CloseReason.None。我不明白这种情况如何或为何会发生。

最佳答案

在创建主窗体之前 Hook 以下事件:

    AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
    Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
    Application.ThreadException += Application_ThreadException;

将输出发送到 MessageBox、文件或其他位置,以查看是否遇到任何未知异常。

关于C# 应用程序无明显原因退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14147701/

相关文章:

c# - 在 TableLayoutPanel 中交换控件位置

c# - 如何访问作为参数传递给 C# 中的泛型函数的对象上的方法

c# - 用户文本输入的乐观正则表达式匹配

c# - 在 DataGridView 的特定列中获取值

c# - 按钮图像两侧被裁剪

winforms - 如何获取组件的名称?

c# - 在 Visual Studio (C#) 中有条件地嵌入资源

c# - 如何获取XmlNode的 "real"ChildNodes,忽略空白节点?

C# WinForm Keypress 在句号后只允许两个数字

C# WinForm - 使用 DateTime Now 和标签颜色的日期斜体