WinDBG x86 ve x64 Birlikte Kurulumu

   Hatırlayacak olursanız bir süre once hata ayıklama konusunda sizlere WinDBG uygulamasından bahsetmiştim. Bu makalem üzere aldığım geri bildirimlerden özellikle 64bit işletim sistemi üzerinde hata ayıklamak isteyenlerin WinDBG’nin x64 ve x86 sürümlerini aynı sistemde kurmak istediklerini gördüm. Bu noktada ise aynı handa bu iki sürümü nasıl kurulabileceği konusunda sorular aldım.    Oldukça basit olan her...
Okumaya devam...

Sembol Dosyalarımızı Sevelim! Koruyalım!

   Yazılım geliştirme sürecinin en baş ağrıtıcı yanıdır belkide hata ayıklama süreci. Elimden geldiğince bu süreçte sizlere önemli bulduğum yöntemleri/ipuçlarını paylaştığım Hata Ayıklama makale serisine şöyle bir geri dönüp baktığımda değinmediğim önemli bir konu olduğunu farkettim; sembol dosyaları.    Pek çoklarının Visual Studio’da varsayılan olarak bir programı debug modunda derlediğinde çıktı dizinine kopyalanan pdb uzantılı...
Okumaya devam...

Log4Net Günlüklerine Güzel Bir Arayüz

   Daha önceki makalelerimde Log4Net’ten ve biz yazılımcıların hayatını nasıl kolaylaştırdığından sizlere bahsetmiştim. Bu makalemde ise sizlere Log4Net ile oluşturulan uygulama günlüklerini browser üzerinden nasıl daha güzel ve anlaşılır olarak gösterebileceğinizi anlatacağım.    Kolay işlenebilmesi ve pek çok araç ile desteklenmesi nedeniyle günümüzde pek çok veri yazılımcılar tarafından xml formatında tutulmakta. Öyle ki, bazı web...
Okumaya devam...

Log4Net ve Chainsaw ile Loglama

   Hatırlarsanız sizlere daha önce de loglamanın hata yakalamada biz yazılımcıların hayatımızı ne kadar kolaylaştırdığından bahsetmiştim. Biz yazılımcıların bu konudaki belki de en büyük yardımcılarından birisi de Log4Net kütüphanesidir. Java dünyasındaki kardeşi Log4J’nin büyük başarısını .net dünyasında sürdüren bu kütüphaneden daha önce sizlere bahsetmiş, nasıl kullanıldığını örneklemiştir. Hiç şüphesi ki her ikisi de Apache Foundation’ın...
Okumaya devam...

C# ile Uygulama Kurtarma

   En hatasız yazılan uygulamalar bile zaman zaman hata vererek sonlanabilir, bu hepimizin bildiği bir gerçektir. Uygulamalarımızda bir hata tespit ettiğimizde yapılacak en doğru şey, şüphesiz ki, bu hatayı düzelmek olacaktır. Peki biz bunu yapana kadar son kullanıcılar ne yaşıyorlar? Düşünün bir kere; bilgisayarınıza bir uygulama kurdunuz, pek çok işlem yaptınız; fakat işlerinizi kaydetmeden hemen...
Okumaya devam...

Hata Yönetiminin İş Mantığı Olarak Kullanımı

   Yazgeliştir Asp.Net web forumlarında Request.QueryString’in null gelmesi ile başlayan bir hata hakkında gelen soru farkında olmadan beraberince çok güzel bir konuyu açtı; hata yakalamanı/fırlatmanın iş mantığı olarak kullanımı. Gelen ilk öneri aslında teorik olarak kötü bir öneri değildi; query string okuması yapılan bölümün try-catch bloğuna alınarak boş değer gelmesi durumunda hatanın uygulamayı etkilemesinin önüne...
Okumaya devam...

WinDBG ile Hata Ayıklama

    Hata ayıklama makale serisi ile uygulamalarımızı geliştirirken alabileceğiniz önlemlerden başlayarak, son kullanıcıda oluşan hataların kaynağını bulabilme, .net framework 4.0 ile geliştirilen uygulamanıza ait bir hafıza dökümü üzerinden hata ayıklama işlemi yapabilmeye kadar  pek çok konuya değinmeye çalıştım. Visual Studio ile bir hafıza döküm (dump) dosyası üzerinden hata ayıklama yapmayı anlatırken hatırlayacaksınız, özellikle not düşmüştüm;...
Okumaya devam...

Visual Studio ile Hata Dökümü İncelemesi

    Hata ayıklamakta kullanılabilecek yöntemleri paylaştığım makale serisinde şimdiye kadar geldiğimiz noktada çoğunlukla hata bilgilerini nasıl toplayabileceğimizi, nasıl hafıza dökümü (Dump) ve mini hafıza dökümü (Mini Dump)  alabileceğimizi görmüştük. Hafıza dökümlerini ADPlus gibi Microsoft tarafından bize sunulan hizmet uygulamalarını kullanarak alabildiğimiz gibi C# ile nasıl çalışan bir işlemin ya da uygulamanın kendi kendinin mini dökümünü...
Okumaya devam...

C# ile Hata Mini Dökümünü Almak

    Hata ayıklama konusunda şimdiye kadarki paylaşımlarımda sizlere önemli bilgiler aktarabildiğimi umuyorum. Bu makale serisinde en başından, daha uygulamalarımızı geliştirirken nasıl log tutarak oluşabilecek hatalar hakkında bilgi kaydedebileceğimizi görmüştük. Devamında çalışan bir işlemin hata dökümünü yazacağımız bir C# programıyla ya da ADPlus kullanarak nasıl alabileceğimizi öğrenmiş, son olarak da debugger mantığını öğrenerek Win32 uygulamaları için...
Okumaya devam...

Win32 Debugger Yapıyoruz – 2

    Önceki makalemde sizlerle birlikte Windows debug API’lerini tanımış ve bu API’leri bir C# uygulaması içerisinden nasıl erişebileceğimizi görmüştük. Makalemin sonuna geldiğimizde ise en basit haliyle bir debug uygulaması oluşturabilmiş, çalışan bir uygulamaya bağlanabilmiş ya da debug moduyla yeni bir işlem başlatabilmiştik. Bir debugger’ın en temel bileşeni olan debug döngüsünün nasıl olduğunu görerek basit bir...
Okumaya devam...