Heyyyyyyyyyyyyyyy

Aprende a programar microcontroladores en C... http://tecdigitaldelbajio.com/software-tarjeta.html

sábado, 19 de septiembre de 2009

Uso del Debugger en NetBeans -- Parte II (ejemplo #12)



Al final del post anterior se inicio con lo del depurador de java. Ahí se vio que para iniciar el depurador se hacían dos cosas: Crear un “Break Point” y ejecutar el programa con el botón del depurador.

Al hacer lo anterior se ejecuta el programa, aparece la interfaz de usuario en el emulador. El ejemplo que se está analizando (viene del post anterior) tiene un textField para ingresar una carácter alfanumérico y además un stringItem para mostrar que tipo de carácter es (ver la parte I si no recuerdas esto) haa y un okCommand que al presionarse me indica que tipo de caracter es, es posible ingresar muchos caracteres, pero a final de cuentas solo interesa el primero que se ingresa, la figura siguiente muestra el emulador con el valor que se ingreso que es el “9E” todo ello ocurre justo antes de presionar el botón OK





Al dar clic en el comando OK justo la ejecución se detiene y aparece la línea verde y la barra de herramientas del debugger como se ve en la figura.




Recuerde, la ejecución se detiene cuando el programa llega al break point. A partir de ahí se inicia el análisis del código usando las herramientas del debugger. Justo aquí puedo iniciar la ejecución “paso a paso” con los botones que se muestran en la figura o también presionando F7 y F8.

Ejecutar paso a paso

Permite ejecutar el programa instrucción por instrucción, esto para ir analizando lo que va pasando en el programa, dando clic una vez se ejecuta la instrucción que está en la línea verde, la herramienta se activa también por medio de la tecla F8, a veces resulta más cómodo presionar varias veces la tecla F8 que dar clic con el mouse.

La figura siguiente muestra como cambia la línea verde cuando se presiona dos veces la tecla F8.




Entonces lo anterior significa que se han ejecutado las dos instrucciones siguientes:

Valor = textField.getString();
chValor = valor.charAt(0);

y, recuerde la línea verde indica la próxima instrucción a ejecutarse, en este caso el switch. Bueno como se ejecutaron dos instrucciones es posible saber qué valor tomaron, las variables involucradas en las líneas de código anteriores. El lector ya imaginara que si se ingreso el “9E” y se ejecutaron las instrucciones anteriores entonces las variables involucradas toman los valores siguientes:

valor = “9E”
chValor = ‘9’

Precisamente el debugger sirve para rastrear los errores, él nos puede sacar de dudas para saber si es cierto que toman esos valores, con solo colocar el mouse encima de la variable podemos ver el valor que van tomando, la figura siguiente muestra esto:



De igual forma se puede ver el valor de la variable chValor que es de ‘9’ tal y como se esperaba, recuerde que esa instrucción solo toma el primer carácter de la cadena introducida.

Otra forma de ver las variables y sus valores, sin necesidad de colocar el mouse es desde la ventana de variables, una figura vale más que mil palabras.



Dando clic en “Enter new Watch” se agregan las variables.

En este punto se puede seguir presionando la tecla F7 ( o F8) y seguir ejecutando el programa paso a paso, el lector podrá ver por dónde se va la ejecución del programa cuando es un número (como en este caso), se puede ver que hace lo correcto, el problema es con las vocales.

La solución al problema se puede ver en el video siguiente que muestra todo el proceso desde la creación del código visto en el post anterior, el uso del debugger hasta llegar a corregir el error.



2 comentarios:

  1. Buenas tardes ... estoy comenzando con esto de desarrollar para teléfonos móviles, por supuesto, aprovechando info de de Vuestro Excelente Blog !!! Gracias.
    Mi consulta es porque necesito utilizar una base de datos. Buscando en internet he encontrado nombres como: SQLite, HSQLDB. Quisiera por favor, si pueden comentar sus experiencias sobre el tema.

    Gracias de nuevo por tanta información útil.

    ResponderEliminar
  2. Hola Horacio, gracias por lo de: "vuestro excelente blog" que bueno que te gusto, personalmente no he trabajado lo de bases de datos con el celular, si tengo planeado colocar mucho más adelante un post de ello pero por lo pronto vamos a seguir con estructruas de repetición y luego arreglos, lamento no poder ayudarte ahora.

    saludos

    Doñate

    ResponderEliminar