2010-01-17 12 views
8

¿Cómo puedo usar los números en stacktrace? ¿Qué significan? en Eclipse A menudo recibo excepciones, por ejemplo, una NullPointerException:¿Qué significan los números en el seguimiento de pila?

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

¿Qué es JVM? –

Respuesta

13

Esas son las compensaciones de la instrucción que provocó la excepción desde el principio del método.

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

La instrucción en el offset 68 en el método com.sun.midp.lcdui.DefaultEventHandler.commandEvent está causando la excepción real mediante el acceso a una referencia nula.

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

La instrucción en el offset 47 en el método com.sun.midp.lcdui.AutomatedEventHandler.commandEvent es una instrucción de llamada que se ejecuta el método com.sun.midp.lcdui.DefaultEventHandler.commandEvent.

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

La instrucción en el desplazamiento 186 en el método com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.handleVmEvent es una instrucción de llamada que se ejecuta el método com.sun.midp.lcdui.AutomatedEventHandler.commandEvent.

+0

¿Y en qué unidad se mide este desplazamiento? en números de línea, supongo ... ¿o en instrucciones? ¿Y qué cuenta como una línea/instrucción? ¿Cuál debería ser el desplazamiento si hay una excepción dentro de doSomething2()? if (true) { doSomething1(); doSomething2(); } – hsmit

+0

Es el desplazamiento del código de bytes en el código compilado. Los depuradores pueden usarlo para mapear el número de línea en el código fuente. Sin la información de depuración adicional que asigna bytecodes a los números de línea de origen, no es trivial encontrar la línea de origen con solo mirar el número. –

+0

Ok, gracias! ¿Puede decirme también cómo correlacionar desviaciones de código de bytes con desviaciones de línea de código fuente? – hsmit

Cuestiones relacionadas