Página 1 de 3

Debugger en ZesarUX

Publicado: 27 Nov 2016, 01:04
por Uto
Hola,

¿Hay algún sitio donde esté explicado como se usa el debugger de ZesarUX?

He intentado mirar en la ayuda y el carpeta docs, y no acabo de encontrar nada, y en el foro he encontrado una cosa llamada "nuevas condiciones" pero no se cuales son las viejas (que supongo que son condicones para breakpoints), y lo que es peor, ni siquiera veo como hacer el típico "Step Over","Step Into", "Run to", etc. de los debuggers. Veo la pantalla con los registros y con la instrucción actual y un modo step pero no acabo de enterarme muy bien.

Tampoco veo si hay una manera de ver un volcado de la memoria sin salirme del debugger paso a paso.

¿Alguna idea?

Re: Debugger en ZesarUX

Publicado: 27 Nov 2016, 11:28
por chernandezba
Hola

Hay poca ayuda respecto al debugger. Lo que más está explicado son los breakpoints condicionales, que puedes leer pulsando F1 en menú de breakpoints
Actualmente el debugger puede ejecutar paso a paso de manera manual, pulsando S si no recuerdo mal, y también puede ejecutar un modo paso a paso continuo, sin tener que pulsar tecla, creo que con tecla C
No hay de momento un step over o step into (está en el TODO ;) ), típico de otros debugger. Lo que si que hay es una opción para hacer un step over de una interrupción (cuando salta una interrupción el debugger la ejecuta y te retorna justo cuando vuelve de dicha interrupción)

Por cierto la manera correcta de escribir el emulador es ZEsarUX. Perdón por ser tiquismiquis pero tiene su explicación :gracias!:

Saludos

Re: Debugger en ZesarUX

Publicado: 27 Nov 2016, 21:47
por Uto
Ok, voy a ver que puedo hacer con eso, pensaba que el debugger estaba más desarrollado, pero me tendré que apañar :-)

Re: Debugger en ZesarUX

Publicado: 27 Nov 2016, 23:23
por chernandezba
Paciencia, mejorará con el tiempo :teclando..:

Por cierto en el modo paso a paso, pulsa enter para ejecutar la instrucción actual

Ah y no se puede hacer volcado de memoria sin salir del debugger... pero esto es fácil de corregir y lo haré en la siguiente versión

Re: Debugger en ZesarUX

Publicado: 27 Nov 2016, 23:54
por Uto
chernandezba escribió:Paciencia, mejorará con el tiempo :teclando..:

Por cierto en el modo paso a paso, pulsa enter para ejecutar la instrucción actual

Ah y no se puede hacer volcado de memoria sin salir del debugger... pero esto es fácil de corregir y lo haré en la siguiente versión
Sí, lo del enter me había dado cuenta, aunque creo que va tambien con otras teclas (o esa impresión me da).

Tampoco veo muy claro como se usa el Watch :-?

Lo de poder ver el hexdump sería muy molón, porque estoy intentando comprobar si las cosas pasan como deben pasar y es imposible, porque si me salgo del debugger para ver el hexdump, se me ejecuta todo el programa :-D

Si estás trabajando en ello, no estaría mal que el debugger te dejara ver no solo la instrucción actual, sino al menos un par de ellas por arriba y por abajo, por dar contexto. No sé como será de difícil pero aunque para ejecutar tus propios programas ver una instrucción puede ser pasable, porque tienes el fuente al lado, para debuggear cosas no propias ver solo una instrucción es solo para cerebros.

Re: Debugger en ZesarUX

Publicado: 28 Nov 2016, 00:07
por chernandezba
Sobre watch... le puedes poner una lista de registros y te los muestra en pantalla al cerrar el menú

Respecto al paso a paso, si desactivas el multitask (desde gui settings) congelas la ejecución del emulador al abrir el menú y por tanto te puedes mover por diferentes menús sin que ejecute nada

Re: Debugger en ZesarUX

Publicado: 28 Nov 2016, 00:09
por chernandezba
Respecto a ver más instrucciones.. si te fijas veras que la ventana ya es muy grande y no cabe nada más... :mecagonto:

Re: Debugger en ZesarUX

Publicado: 28 Nov 2016, 00:15
por Uto
chernandezba escribió:Sobre watch... le puedes poner una lista de registros y te los muestra en pantalla al cerrar el menú

Respecto al paso a paso, si desactivas el multitask (desde gui settings) congelas la ejecución del emulador al abrir el menú y por tanto te puedes mover por diferentes menús sin que ejecute nada
Ah, genial, no es que sea comodo pero al menos es posible :-)

Respecto a las instrucciones, yo veo aun mucho espacio por arriba y por abajo, pero no se si es que hay un limite a la ventana del menu :-)

En el peor de los casos podrias poner una tecla que haga toggle entre ver codigo y ver registros. Es una idea. Incluso triple toggle entre registros, codigo y hexdump.

Re: Debugger en ZesarUX

Publicado: 28 Nov 2016, 12:10
por Uto
¿hay alguna manera de pasar los breakpoints por linea de comandos?

Estoy tratando de hacer debug de un dot command, lo que implica que cada vez de compilo tengo que montar la SD virtual, copiar el fichero compilado, desmontar la SD, arrancar ZEsarUX (y si algo falla salir de ZEsarUX). Esto me obliga a que cada vez que entro tengo que poner otra vez el breakpoint de turno, si monto y desmonto la unidad con ZEsarUX abierto no pilla los cambios.

Si al menos pudiera hacer algo como ---breakpoints "PC=8192, HL=0"...

Re: Debugger en ZesarUX

Publicado: 28 Nov 2016, 16:37
por chernandezba
Uto escribió:
Respecto a las instrucciones, yo veo aun mucho espacio por arriba y por abajo, pero no se si es que hay un limite a la ventana del menu :-)
Si, puede que sobre algo, pero lo que pasa es que la ventana tiene un tamaño fijo para cualquier máquina y hay máquinas que usan más lineas que otras

En el peor de los casos podrias poner una tecla que haga toggle entre ver codigo y ver registros. Es una idea. Incluso triple toggle entre registros, codigo y hexdump.
Esa idea me gusta :gracias!:
Es bastante fácil poder conmutar entre las 3 vistas que dices. Me lo apunto para la siguiente versión

Saludos