Yığın izleme (veya geri izleme), uygulamanızın yöntem yığınını gösteren bir çıktıdır. Uygulamanız bir hatayla karşılaştığında genellikle terminalinizde bir tane görürsünüz.

Adından da anlaşılacağı gibi, bir yığın veri yapısı, yöntemleri bir yığın izlemede saklar. Program yürütmenin başladığı yöntem yığının en altındadır, yığın izini üreten yöntem ise en üsttedir.

Kodunuzda hata ayıklarken yığın izleme çok yararlı olabilir.

Yığın İzleme Neden Önemlidir?

Yığın izleme, önemli bir hata ayıklama aracıdır. Hatanın türü, oluştuğu yöntem, kodunuzda oluştuğu satır ve dosya yolu gibi ayrıntılı bilgiler verir.

Deneyimli bir programcı için bu bilgi, tam olarak neyin yanlış gittiğini anlamak için bir altın madeni gibidir.

Bir programcı olarak, programınızdan talep üzerine yığın izleme oluşturmasını da isteyebilirsiniz. Bu, özellikle kod bakımı ve sorun giderme için yararlı olabilir.

Yığın İzi Nasıl Çıktı Alınır

Derleyici sürümünüze bağlı olarak, büyük olasılıkla okunabilir bir geri izleme elde edersiniz. Okunabilir bir geri izleme, normal geri izlemenin aksine, hata hakkında kullanıcı dostu metin sağlar. Bu özellikle yeni derleyiciler için geçerlidir. Bu nedenle, yığın izlerini öğrenmenin en iyi yolu, bir tane kendiniz üretmektir.

instagram viewer

Kodunuzda herhangi bir hata olmadan bir yığın izi oluşturabilirsiniz. Bunu yapmak için, sadece çöp yığını yöntemi java.lang. İplik sınıf. DumpStack'i çağıran yöntemden çağrılan tüm yöntemleri gösterecektir. Çağıran yöntem, en üstteki yöntem olacaktır. yığın veri yapısı.

İşte açıkça bir yığın izi oluşturan örnek bir program:

sınıfStackTraceDemo{
halka açıkstatikgeçersizana(String[] argümanları){
gün();
}

statikgeçersizgün(){
saat();
}

statikgeçersizsaat(){
dakika();
}

statikgeçersizdakika(){
int bir = 24 * 60;
System.out.println (bir + " bir günde dakika");
İplik.dumpYığın();
}
}

Çıktı:

günde 1440 dakika
java.lang.İstisna: Yığıniz
java.base/java.lang adresinde. Thread.dumpStack (Thread.java: 138)
deStackTraceDemo.dakika(StackTraceDemo.java:17)
deStackTraceDemo.saat(StackTraceDemo.java:11)
deStackTraceDemo.gün(StackTraceDemo.java:7)
deStackTraceDemo.ana(StackTraceDemo.java:3)

Bu çıktıda, geri izlemenin programın her birini nasıl çağırdığını gösterdiğini gözlemleyebilirsiniz. Java yöntemi ve kaynak kodunda hangi satır numarasında. Yığın izini oluşturan yöntem, yığının en üstünde gösterilen yöntemdir. Bunu çağıran yöntem, altındaki satırda vb.

Yığın İzlemesinin Ötesinde

Varsayılan olarak, Java programınız bir hatayla karşılaştığında durur ve bir yığın izlemesi görüntüler. Ancak, son kullanıcıların kafasını karıştırabilecek mesajlar göstermek yerine bu hataları zarif bir şekilde ele almayı seçebilirsiniz.

İstisnaları yakalamak için try...catch() bloğunu kullanarak programınızın hata işlemesini iyileştirebilirsiniz. Programlarınızın karşılaşabileceği çeşitli hata türlerini dikkate almak ve anlamak da önemlidir.