2016-04-09 15 views
1

Anlamakta zorlandığım garip davranışlar sergileyen bir uygulama var. Makinemde ve birçok kullanıcı makinesinde iyi çalışıyor. Ancak bazı makinelerde, görünüşte rastgele görünüyor, sadece askıda kalıyor. Bir kullanıcıyla çevrimiçi bir toplantıya katılabiliyordum ve duraklatılırken sistemlerinde bir iz çalışabildim.Hata ayıklama programı başka bir makinede donuyor

enter image description here

O 29.6 30 üzerinden saniye boyunca bazı ipler tamamlamak için birbirlerine bekliyorlardı ve neredeyse 6.000 kez aramış oldukları ortaya çıkmaktadır: Burada bir iz ekran görüntüsüdür. Bunu google'a denedim ve buralarda da bolca baktım ve topladığım şeyden bir iplik çıkmazı durumu var. Sorun şu ki bu uygulama sadece birkaç yerde arka plan iş parçacığı kullanmaktadır ve bu kurucu bildiğim kadarıyla olmamalıdır. neler olduğunu kimse bundan söyleyebilir eğer

Yani benim sorum ...

 InitializeComponent(); 

     if (KMApplication.Settings != null) 
     { 
      _useWin10 = KMApplication.Settings.ForceSpellingMode == SpellChecker.SpellingModes.Windows10 
       || (KMApplication.Settings.ForceSpellingMode == SpellChecker.SpellingModes.Automatic && Utility.IsWindows10()); 
     } 

bu denetim için XAML oldukça uzun ama gerektiğinde bunu kopyalayabilirsiniz: Burada constrcutor kodudur Buradaki sorunu aramak için en iyi yol hangisidir?

+0

Harici DLL kullanıyor musunuz ??? Belki bu dll'leri diğer makinelerde kaçırıyorsunuzdur ... –

+0

Programdaki belirli zayıflıkları her zaman arayabilir ve olası istisnaları yakalamayı deneyebilirsiniz. Bir istisna oluştuğunda, sadece hata mesajıyla basit bir diyalog gösteriniz (veya ne olduğuna bağlı olarak kendinizinkini yaratınız). Bir iletişim kutusunu görüntüleyemiyorsanız, konsola yazın. Ayrıca, ikinci sistemin uygun çerçevenin kurulu olduğunu kontrol edin. –

+0

Harici dll'leri kullanıyorum, ancak bunların hepsinin sorunu olan hedef makineye yüklendiğini doğruladım, bu yüzden bunun olduğunu düşünmüyorum. Üstelik sadece duraklama yerine bir istisna alamaz mıydı? Ayrıca, sorunları olan makinelerde, yaklaşık 6 veya 7 dakika beklemek ve daha sonra – sfaust

cevap

0

Saçma sapan bir miktar hata ayıklama ve testten sonra, bunun hiç iş parçacığı ile ilgili olmadığını anladım. Aslında her şeyin yazım denetimi ile ilgilidir. Bu, this question'da gösterilen sorun olmaktan çıktı. Cevabı am7zd'ye bakarsanız, sorunun tam olarak ne olduğunu açıklarlar. İzlemede bu şekilde neden göründüğünden emin değilsiniz, ancak yanıltıcıdır, aslında tüm metin kutularına bir grup sözlük kaydeder ve bunları oluşturmak için sonsuza kadar sürer. Bu kullanıcı durumunda o ortamda 1800 adet olmayan dosya vardı ve onları temizledikten sonra her şey normal hıza döndü.

Bu sorunla karşılaşan birine yardımcı olur.