c# Wpf’de Hata Ayıklama


İyi günler

Karşılaştığım sıkıntı Wpf  projemde  hata raporlarını görememek ve istediğim alana kaydedememek.

Çözüm için yapılması gerekenler:

1- Wpf Projemizin App.xaml dosyası açılır.

Hata ayıklamak için DispatcherUnhandledException= “UnhandledException”  Application ‘ın  içine eklenir (Resim 1).

wpfde

                                                 Resim -1

2- Wpf Projemizin App.config dosyasına alttaki satırları ekleyerek  değişkenlerimizi kod dışından da rahat değiştirmemizi sağlıyoruz. (Resim 2)

wpfde3

            
                                                                                  Resim - 2
<appSettings>
<add key="error_file" value="errors.txt" />
<add key="stack_file" value="stack.txt" />
</appSettings>

3- Ardından  App.xaml.cs  açılır ve içerisine alttaki kod eklenir.

using System.Windows.Threading;
using System.IO;
using System.Configuration;// ekli değilse

“ConfigurationManager.AppSettings” çalışmaması  durumunda projenin içindeki References –> Sağ Tuş –> Add reference(Reference ekleme) –> Sağ üstte bulunan arama alanına system.configuration yazılır ve ortaya çıkan sonuç tıklanılarak  OK basılır

wpfde4
Resim – 3

                                                         

private void UnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
var time = DateTime.Now;
var path=ConfigurationManager.AppSettings["error_file"]; // kaydedilmek istenilen yer (Bende projenin içine içinde olacak şekilde ayarlı)
File.AppendAllText(path, "\r\n" + string.Format("{0},{1},{2}", time, e.Exception.InnerException.Message, e.Exception.Message) + "\r\n"); //(Kaydedilecek yer  , istenilecek hatalar)
File.AppendAllText(ConfigurationManager.AppSettings["stack_file"], time + ":\n" + e.Exception.StackTrace + "\n");
e.Handled = false;
}

4-Error.txt dosyasını  açalım (Resim 4).

wpfde5

                    Resim – 4