客户端 - 服务器应用程序崩溃

时间:2010-11-19 08:05:31

标签: c# multithreading client-server

我有一个客户端服务器应用程序。客户端登录我的服务器上的帐户。问题是我的服务器有时会崩溃,虽然我在try-catch语句中包含了所有类型,但我没有得到任何消息。

我实施的服务器位于:simple threaded tcp server

有没有人遇到像这样的崩溃?有没有可以找到应用程序错误日志的地方?

我有点绝望,所以任何想法都会很棒。谢谢。

3 个答案:

答案 0 :(得分:2)

即使由于多线程操作而将所有函数包装在try-catch块中,应用程序也可能因未处理的异常而崩溃。

try
{
   var t = new Thread(()=>
      {
          Thread.Sleep(5000);
          throw new Exception();
      });
   t.Start();
   //t.Join();
}
catch
{
    //you can't deal with exception here
    //even though you uncomment `t.Join`
    //the application will crash even there is a try-catch wrapped
}

答案 1 :(得分:2)

您是否保留了示例代码的这一部分? 在catch ...之后添加一个Console.WriteLine ...

 catch
    {
      //a socket error has occured
      break;
    }

答案 2 :(得分:1)

如果您在Visual Studio中的调试模式下运行,则可以考虑启用CLR异常以传播到用户控件。我相信它们默认是禁用的,这有时会导致挂起的应用程序没有任何调试器反馈。 This article on MSDN可能会引起人们的兴趣。