我有一个 C# Windows UI 程序,Window1 : Window
在它的构造函数中我启动了一个异步套接字服务器,并将数据流式传输到使用和while (true) { /* BeginAccept */ }
连接的任何客户端。BeginSend
EndSend
如果其中一个客户端被强制断开连接Socket.EndSend
会引发异常(有点令人惊讶的是,ObjectDisposedException
而不是SocketException
,但无论如何)。
该异常终止了我的整个程序(关闭窗口),但不打印堆栈跟踪!
相反,我只得到一个无辜的
A first chance exception of type 'System.ObjectDisposedException' occurred in System.dll
输出面板中的消息。
如果异常像这样被静音但仍然在没有堆栈跟踪的情况下使我的程序崩溃,我应该如何找到引发异常的位置?