我们有一个线程,当我们从外部调用Thread.Abort()时,会捕获一个ThreadAbortException,因为我们有一些清理要做。特别是,要求使用互斥锁。在Visual Studio外部以调试模式运行应用程序时崩溃,但在Visual Studio中托管时,所有运行正常。我听说垃圾收集器在托管时与不托管时运行方式不同。这可能与线程有关吗?抛出的错误是缓冲区溢出。
谢谢!
答案 0 :(得分:0)
正如Henk已经指出的那样,不要打电话给Thread.Abort
。如初。
我有一些关于垃圾收集器在不同情况下如何工作的信息on my blog。但是,我相信GC在调试器中运行调试版本是相同的。
如果您想要回答其他问题,则需要发布更多信息。 “坠毁”不是描述性术语;应用程序是否会突然退出,或者显示您编写的对话框,或者显示Windows错误报告?同样,我不熟悉“缓冲区溢出”异常;对于异常,请发布异常类型,消息和完整的堆栈跟踪。