2010-11-19 24 views
0

İstemci sunucu uygulamasına sahibim. Müşteriler benim sunucumda bir hesapta oturum açar. Sorun şu ki, sunucum bazen çöküyor ve her ne kadar bir try-catch ifadesine sahip olsa da mesaj alamıyorum.client - sunucu uygulaması çöküyor

Uyguladığım sunucu şu adreste: .

Kimse böyle bir çarpışma ile karşılaştı mı? Uygulama için bir hata günlüğü bulabileceğim bir yer var mı?

Ben çaresizim, bu yüzden HERHANGİ bir fikir harika olurdu. Teşekkürler.

+0

bir Console.WriteLine hakkı ekleyin ve bu arada, ben bir kilit deyimi kullanmadan birden çok iş parçacığı değişkenleri erişiyorum. Bu kaza için sorun olabilir mi? – Alex

+0

Sunucunuz çöktüğünde ne tür bir hata alıyorsunuz? Orada, kodun bir kısmını işaret eden bir yığın izi bulunmalıdır. Sorunu bulduktan sonra, sorunu kendiniz bulamadıysanız, bize soruna neden olan kodu gösterin. –

+0

hayır, yok! Bu çok tuhaf ! Program çöküyor! Her olasılığı araştırıyorum. Sunucu kodu çalışmıyor ya da yazdığım diğer kodun bir sorunu var – Alex

cevap

2

Uygulama, çok iş parçacıklı işlemler nedeniyle try-catch bloğuna sarılmış tüm işlevleriniz olsa bile işlenmeyen özel durumlar nedeniyle çökmek mümkündür.

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

Visual Studio'da Hata Ayıklama modunda çalışıyorsanız, CLR Kural Dışı Durumlarının kullanıcı denetimine yayılmasını sağlamayı düşünebilirsiniz. Varsayılan olarak devre dışı bırakıldıklarına inanıyorum, bu da bazen hata ayıklayıcı geri bildirimi olmadan asılı uygulamalara neden olur. This article on MSDN ilgi alanı olabilir.

2

Örnek kodun bu bölümünü sakladınız mı? ... yakalamadan sonra

catch 
    { 
     //a socket error has occured 
     break; 
    } 
İlgili konular