我有一个客户端服务器应用程序。客户登录我的服务器上的帐户。问题在于我的服务器有时会崩溃,虽然我用try-catch语句包装了所有类型,但我没有收到任何消息。客户端 - 服务器应用程序崩溃
我已经实现的服务器在这里:。
有没有人遇到这样的崩溃?有没有一个地方可以找到应用程序的错误日志?
我有点绝望,所以任何想法都会很棒。谢谢。
我有一个客户端服务器应用程序。客户登录我的服务器上的帐户。问题在于我的服务器有时会崩溃,虽然我用try-catch语句包装了所有类型,但我没有收到任何消息。客户端 - 服务器应用程序崩溃
我已经实现的服务器在这里:。
有没有人遇到这样的崩溃?有没有一个地方可以找到应用程序的错误日志?
我有点绝望,所以任何想法都会很棒。谢谢。
由于多线程操作,即使您将所有函数包装在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
}
如果您在Visual Studio中以调试模式运行,则可以考虑启用CLR异常以传播到用户控制。我相信它们在默认情况下被禁用,这有时会导致挂起的应用程序没有任何调试器反馈。 This article on MSDN可能是有趣的。
您是否保留示例代码的这一部分? 添加Console.WriteLine权抓后...
catch
{
//a socket error has occured
break;
}
顺便说一句,我访问来自多个线程的变量,而无需使用锁声明。这可能是坠机问题吗? – Alex 2010-11-19 08:15:24
当你的服务器崩溃时,你会得到什么错误?在那里应该有一个堆栈跟踪,指向你的代码的一部分。一旦你发现,如果你自己没有发现问题,向我们展示导致问题的代码。 – 2010-11-19 08:19:43
不,没有!太奇怪了!该程序只是崩溃!我正在寻找各种可能性。服务器代码不起作用,或者我编写的其他代码有问题 – Alex 2010-11-19 08:36:43