Java

Eclipse Debug Kullanımı

Programımızın beklenmedik bir şekilde çalışmasına sebep olan her şeye “bug” denir.Bug’ların temizlenmesi giderilmesi işlemine ise “debugging (hata ayıklama)” denir. Hata ayıklama işlemi bize compiler(derleyici)’in çalışma tarzını, mantığını en iyi anlatan yollardan biridir. Bu mantığı anlamak büyük projelerde bize çok yardımcı olacaktır.

Print Debugging (Yazdırarak hata ayıklama);

Kodumuzun içerisine yerleştirdiğimiz print(yazdırma) metotları ile yapılan hata ayıklama çeşididir. Hata ayıklamak için en uygun yöntem olmamasına rağmen diğer hata ayıklama çeşitlerine göre daha kullanışlı ve kolay görülür. Bir çoğumuz farkında olmadan bu hata ayıklama çeşidini  zaten kullanmaktayız.Bu yazımızda LogCat ile hata ayıklamaya değineceğiz.Kısaca kullanım yerlerine örnek verecek olursak;

Bir metoda giriş çıkışları kontrol edebilir,kodumuzun içerisindeki herhangi bir noktanın çalışıp çalışmadığı kontrolü yapılabilir,değişkenlerin o anki değerlerine bakılabilir…

LogCat, android günlüğü olarak tanımlanabilir. Yapılan işlemlerin adımlarını genel olarak görmek için kullanılır. Bu görünüme programcı da kendi isteği doğrultusunda notlar düşebilmektedir. Buraya

Window → Show View → Other… → Android → LogCat. uzantısı ile ulaşılır.

Log.i( tag , mesaj); şeklinde yazdırılır.LogCat görünümünde “yeşil +” olarak görülen buton ile loglarımızı “Taglara” göre sınıflandırabilir ve istemediğimiz taglardan kalabalıklardan kurtulabiliriz.  android.util.Log classını import ettikten sonra Log statement’lar yazılır. LogCat’e 5 farklı renkte log statement girilebilir. Bunlar şu şekildedir :

Logcat’in diğer özelliği uygulamanın kapanma sebebini göstermesidir. Örneğin projemizi oluştururken xml dosyasındaki textview’i java classında Edittext olarak tanımlandı. Herhangi bir intellisense hatası alınmamasına karşın program çalışmaz.Bu hatayı LogCat e bakarak görülebilir.

Logcat Hatası :

Bir örnek logcat görüntüsü ve örnek kodlara bakalım :

 

 

Örneğimizi Print Debugging ile inceleyecek olursak;

Programım çalıştırılabiliyor mu? İlk başta aldığım sayı değerim kaç? Buton yardımı ile bu sayının değerini arttırabiliyor muyum?  Arka planımı butonum yardımıyla değiştirebiliyor muyum? Bu soruların hepsi koda yazılan “Log”lar ile kontrol edilebilir. Bunun haricinde android için “Toast” mesajları da print debugging’e örnektir.

Remote Debugging (Uzaktan Hata Ayıklama)yapacak olursak;

Uzaktan hata ayıklama breakpointler yardımı ile yapılan debugging çeşididir. Breakpoint : Kodun durmasını istediğimiz duraklar şeklinde tanımlanır. Breakpoint konacak satıra imleci getirip ctrl+shitf+b’ye basılarak  veya sol kenardaki şeride çift tıklanarak konur. Gerekli yerlere breakpoinler koyulduktan sonra  debug modunda proje çalıştırılabilir(Kısayol : F11).

Uygulama debug modunda çalışırken  ekranda ilk olarak bir uyarı çıkacaktır.

Çıkan uyarıdan sonra ilk breakpointten başlamak üzere debugging yapılmaya başlanır.

Resume (F8):Breakpointte duran programımın diğer breakpointe kadar çalışmasını sağlar.

Step Into (F5):Breakpoint’imizin bulunduğu yerde bir metot var ise o metotun içine girilir. (İçine girdiğimiz metot’un breakpoint ile belirlenip belirlenmediğine bakmazsızın.)

Step Over (F6):Programın bulunduğu yerden bir satır ilerlemesini sağlanır.Özellikle metotların içerisinde ilerlemede kullanılır.

Step Return(F7):İçine girilen metottan geri çıkılmasını sağlar.Metoda girmeden önceki yere gidilir.Metot içerisine tamamen bakılmış olup olmamasına bakmaz.

Breakpoint sekmesinde noktalarımızı nereye koyduğumuzu  Variables sekmesinde ise alınan değişkenlerin değerini görürüz. Variables sekmesinde ki diğer özellik ise alınan değişkenlerin değerinin güncellenebilmesidir. Bu da bize esnek bir yapı sağlar. İşlemler tamamlandıktan sonra Disconnect’ e tıklanıp java kısmına geçiş yaparak düzenlemeler bitirilir.

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

one + 18 =

Göz Atın
Kapalı
Başa dön tuşu