【发布时间】:2015-04-07 07:36:13
【问题描述】:
我创建了一个退出应用程序的简单 toolstrip 项目。
它将数据保存到datatable,然后返回MessageBox,表示保存成功,然后退出。
当我使用Environment.Exit(1) 时,它挂起,在阅读一些细节时,他会说线程可能正在等待、休眠等。
我尝试使用Environment.Exit(0) 并以某种方式工作,但我真的不知道为什么。
我知道这与退出代码有关,但作为“业余”程序员,我不知道这意味着什么。
有什么提示吗?可能是针对最终用户程序员的阅读资源?
【问题讨论】:
-
您必须更好地记录您的问题。您必须启用非托管调试并在挂起时使用 Debug + Break All。如有必要,使用 Debug + Windows + Threads 窗口选择线程,很可能您需要查看终结器线程。您看到的调用堆栈是问题的基本文档。如果这一切听起来像 gobbledegook,它可能确实如此,那么根本不要使用 Environment.Exit()。终止程序的更友好的方法是 Application.Exit(),它会正常清理。
-
谢谢,application.exit 确实做到了