调试器退出不响应功能

时间:2013-05-30 12:01:15

标签: c# visual-studio-2010 debugging

我在C#中有从套接字读取的代码。 由于某种原因,对方没有回应。 我在NetworkStream.Read方法上遇到了调试器。 如果我打破调试器,我仍然会卡在那里。 我想再次建立连接而不终止整个程序。 如何告诉调试器跳过Read

1 个答案:

答案 0 :(得分:0)

您在阅读时是否检查数据是否可用?示例on MSDN如下所示:

do
{
    numberOfBytesRead = myNetworkStream.Read(myReadBuffer, 0, myReadBuffer.Length);
    // other stuff
}
while(myNetworkStream.DataAvailable);

如果没有可用的数据,我想这应该跳过。虽然我对NetworkStream几乎没有经验,所以也许你遇到的问题无论如何都会发生。

如果是这种情况,那么听起来你想让它成为非阻塞调用,这样即使流被阻止,应用程序也可以继续。 (出于多种原因,这可能是个好主意。)因此,从另一个线程中读取流将是最佳选择。你如何做到这一点取决于你正在使用的.NET版本。