Birisi beni bu hata neden olabilir hakkında aydınlatabilir umuyoruz:
Korumalı belleği okuma veya yazma girişimi. Bu genellikle diğer belleğin bozuk olduğunun bir göstergesidir.
Gerçekten bu kodu uygulamanın herhangi bir rastgele atılmış gibi görünüyor çünkü kod gönderemiyorum. Uygulama, hata atmadan önce 12-48 saat arasında herhangi bir yerde çalışır. Bazen görünüşte rastgele bir noktada durur ve yukarıdaki hatayı atar, diğer zamanlarda tüm uygulama durur ve satırlarda bir şey söyleyen bir hata ile bir ekran alıyorum. CLR hata veya ... "PInvoke veya diğer ilgili olmayan bilgiler hakkında bir şey. Bu durumda, tüm iş parçacıkları sonlandırılmış gösterir ve hata ayıklama bilgisi yoktur.
Özetle, uygulamanın yaptığı budur:
Onun tamamen C # ile yazılmış bir çok iş parçacıklı sunucu uygulaması. İstemciler sunucuya soket üzerinden bağlanır. Sunucu, istemciler için birbirleriyle ve ortamla etkileşim kurabilecekleri bir sanal "ortam" çalıştırır. Biraz bellek tüketiyor ama sızdığını görmüyorum. Genellikle yaklaşık 1,5 GB tüketir. Sızıntı olduğunu sanmıyorum çünkü bellek kullanımı uygulamanın tüm süresi boyunca nispeten sabit kalıyor. Müşteriler hiçbir şey yapmasa bile çevreyi korumak için sürekli çalışan kodu. Hiçbir üçüncü taraf yazılımı veya başka API kullanmaz. Bu uygulamanın kullandığı tek dış kaynaklar soket bağlantıları ve SQL veritabanı bağlantılarıdır. 64bit sunucuda çalışıyor. .Net 2.0, 3.5 ve 4 kullanarak VS2008 ve VS2010 bu hata ayıklama denedim.
Derleyici optimizasyonlarını ve birkaç microsoft hot-fix'leri kapatmayı denedim. Hiçbir şey bu sorunu ortadan kaldırmaz gibi görünüyor. Herhangi birinin olası nedenleri veya soruna neden olan şeyi tanımlamanın bir tür yolunu bilmesi takdir edilecektir.