2010-03-18 24 views
19

Bir istisnanın oluştuğu noktada durması için Eclipse'i nasıl kurabilirim?Satırda durdurmak için Eclipse'i nasıl kurarım bir istisna oluştu?

Bir istisnayı kırmak için bir Eclipse breakpoint kurulumum var. Aşağıdaki kod örneğinde, sahip olduğum sorun Eclipse tamsayı kaynak kodunu açmaya çalışır. Kod örneğimde gösterilen noktada hata ayıklayıcısını kırmanın herhangi bir yolu var mı? Eğer yığın izini aşağı kaydırırsam, bu satıra ulaşacağım, "Kaynak bulunamadı" penceresi olmadan bunu yapmanın bir yolu olması güzel olurdu.

Bu Visual Studio'da yapılabilir, bu yüzden Eclipse'de bunu yapmanın bir yolunu bulamadığım için beni deli ediyor.

package com.test; 

public class QuickTest 
{ 
    public static void main(String[] args) 
    { 
    try 
    { 
     test(); 
    } 
    catch(NumberFormatException e) 
    { 
     System.out.println(e.getMessage()); 
    } 
} 

    private static void test() 
    { 
    String str = "notAnumber"; 

    Integer.parseInt(str);//<----I want debugger to stop here 
    } 
} 

 

cevap

3
  1. sadece Integer.parseInt(str) satırda kesme noktası ayarlanamaz?
  2. Eclipse projenizi JRE yerine bir JDK kullanarak işaretlerseniz, tüm platform sınıflarının (Tamsayı vb.) Kaynak kodunu alması gerekir.
+1

Integer sınıfını açmayı denemeye çalışıyorum. Sadece sorunumu benim kodumla kırmak istiyorum. Bir kesme noktası ayarlamak, bu sadece basit bir örnek olduğundan yardımcı olmaz. Gerçek kodun yüzlerce sınıfı vardır, vb. – Crispy

+1

Muhtemelen 'JVM' (?) – Fortega

+0

@Fortega yerine 'JDK' demek istediniz, evet, teşekkürler –

5

Tercihler -> Java -> Debug -> Adım Filtreleme ayıklama üzerinde (java.*, sun.*, etc) emin oku filtreleme ufak adımlar seçili olduğundan emin olun ayıklama yaparken filtre uygulamak istediğiniz paketleri seçin .

Bu hile yapmalıdır.

+0

Serin! Ben her zaman bunu nasıl yapacağını bilmek istedim! – charlie

+1

Bir breakpoint, istisnada kesmek için kurduğunda çalışır gibi görünmüyor :( – Crispy

+0

Adım dönüş tuşuna basarsanız, o noktaya adım atılırsa ya da o karta düşerseniz nasıl olur? Çalışacağından emin değilsiniz. –

2

Hata ayıklama görünümü, geçerli yürütmenin tüm yığınını gösterecektir. Görmek istediğin çizgiyi seçmelisin. Orada bir kesme noktası vardı o da tüm değişkenler vb Oraya başka nasıl emin değilim

35

görebilirsiniz aynı olacaktır, ama sadece yapın: o sekmede

Window -> Show View -> Breakpoints 

Ve bir "J!" var Bu, istisnalara kesme noktaları ayarlamanıza olanak tanır.

+0

Evet, kullandığım şey bu. Benim örneğimde hariç, Tamsayı kaynak kodu Tamsayı kaynak kodunun açılmasını istemiyorum Sadece hata ayıklayıcının 'Integer.parseInt (str)' de durmasını istiyorum ' – Crispy

+2

Özel durum kaldırıldığında hata ayıklayıcı duracaktır (Bunu yapmak istediğin şeydir) ve her zaman editörü istisna attıran kaynak satırında açacaktır - bu durumda Integer.parseInt(). Tüm çağrı yığını da gösterilir ve kaynağa o düzeyde bakmak için uygun seviyeye tıklayabilirsiniz. – DJClayworth

+0

Ardından, kendi kodunuza geri dönmek için çağrı yığınını kullanabilirsiniz, ilginç olduğunu düşündüğünüz yığının hangi düzeyine sihirli bir şekilde karar vermenin gerçek bir yolu yoktur. Bu cevabı gerçekten kabul etmelisiniz. – David

İlgili konular