0

当我的应用程序关闭时出现此异常:

在此处输入图像描述

这是当时的堆栈跟踪:

在此处输入图像描述

这是当时的线程列表:

在此处输入图像描述

我发现很难确切地确定这里发生了什么。堆栈表明数据库引擎(Pervasive)正在尝试进行通信,但作为“GC Finalizer Thread”的线程似乎很奇怪。

我不确定究竟是什么被处理了,然后试图使用的东西。网络套接字?数据库连接?我怎么知道?

我希望其他人以前来过这里,或者在那些图像中看到我没有注意到的东西。

4

1 回答 1

1

应该是评论,但不适合。所以你说应用程序代码此时已经退出。这很可能意味着您正在运行的应用程序现在正在终止。现在所有挂起的终结器都运行以清理资源(当然,对于类型声明这些终结器的对象)。在其中一个终结器中(这就是您在此处看到 GC.FinalizerThread 的原因),有些东西试图将数据写入数据库(跟踪跟踪中的 SqlClient 表明它是数据库,而 NetworkStrem.Write 表明它是,嗯,写入),但是连接已经关闭,所以你会看到这个异常。

于 2016-10-06T12:10:22.550 回答