2010-01-17 16 views
8

Stacktrace'deki sayıları nasıl kullanabilirim? Bunlar ne anlama geliyor?Yığın izindeki sayılar ne anlama geliyor?

java.lang.NullPointerException 
    at com.sun.midp.lcdui.DefaultEventHandler.commandEvent(+68) 
    at com.sun.midp.lcdui.AutomatedEventHandler.commandEvent(+47) 
    at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.handleVmEvent(+186) 
+0

Bu JVM nedir? –

cevap

13

olanlar yöntemin başından duruma neden eğitim uzaklıklar: Tutulma ben örneğin, genellikle bir NullPointerException istisnalar olsun.

java.lang.NullPointerException 
    at com.sun.midp.lcdui.DefaultEventHandler.commandEvent(+68) 

kullanıcı bir null başvuru erişerek gerçek durum neden olan yöntem com.sun.midp.lcdui.DefaultEventHandler.commandEvent, 68 ofset.

at com.sun.midp.lcdui.AutomatedEventHandler.commandEvent(+47) 

talimat de yöntemde com.sun.midp.lcdui.AutomatedEventHandler.commandEvent içinde 47 ofset com.sun.midp.lcdui.DefaultEventHandler.commandEvent yöntemini çalışan bir çağrı talimatıdır.

at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.handleVmEvent(+186) 

talimat de yöntemde com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.handleVmEvent yılında 186 ofset com.sun.midp.lcdui.AutomatedEventHandler.commandEvent yöntemini çalışan bir çağrı talimatıdır.

+0

Ve hangi birim hangi ofset ölçüldü? satır numaralarında sanırım .. veya talimatlarda? Ve bir çizgi/öğretim olarak ne sayılır? doSomething2() içinde bir istisna varsa, ofset ne olmalıdır? if (true) { doSomething1(); doSomething2(); } – hsmit

+0

Derlenmiş kodda bytecode ofseti var. Hata ayıklayıcılar, kaynak koddaki satır numarasına eşlemek için kullanabilir. Bayt kodlarını satır numaralarını kaynak kodlayan ekstra hata ayıklama bilgisi olmadan, yalnızca sayıya bakarak kaynak satırını bulmak önemsiz değildir. –

+0

Tamam, teşekkürler! Kaynak kod satırı ofsetleri için baytkod ofsetlerinin nasıl eşleştirileceğini de söyleyebilir misiniz? – hsmit