作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在我的 C#/WPF/.Net 4.5 程序中,我试图在套接字上执行 Disconnect(),当我这样做时,我得到了一个
A first chance exception of type 'System.Net.Sockets.SocketException' occurred in System.dll
. . .在 Visual Studio 输出窗口中。
我的代码包含在 try/catch 中,但它从未落入 catch 中。 . .
try
{
if (_TCPConn.Connected)
{
_TCPConn.Shutdown(SocketShutdown.Both);
_TCPConn.Disconnect(true); // SocketException
}
}
catch (Exception e)
{
. . .
}
到目前为止,Socket 工作正常 - 它用于与一些制造机器通信,所有这些东西都工作得很好。我在使用和不使用 Shutdown() 的情况下都进行了尝试,结果相同。如果我让我的程序在第一次机会异常后继续运行,整个程序就会消失并退出调试器。然后输出窗口中的消息只是说
The program '[0xE6C] ProcFacTest.vshost.exe: Managed (v4.0.30319)' has exited with code 0 (0x0).
我如何找出造成这种情况的原因?
最佳答案
第一步是禁用“Just My Code”。这可能不是必需的,但 IDE 可能会将您的用户代码与系统代码混淆并因此抑制异常。我一般在做异常调试的时候会这样做
下一步是告诉 Visual Studio 在抛出特定异常时中断。
关于c# - 如何在 Socket 上调试这个第一次机会异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21006302/
我是一名优秀的程序员,十分优秀!