Debugger en ZesarUX

Software para o relacionado con el core ZX Spectrum / Software for or related to the ZX Spectrum core
Avatar de Usuario
Uto
Mensajes: 1394
Registrado: 17 Dic 2015, 16:39

Debugger en ZesarUX

Mensaje por Uto » 27 Nov 2016, 01:04

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?

Avatar de Usuario
chernandezba
Mensajes: 841
Registrado: 02 Oct 2015, 23:35

Re: Debugger en ZesarUX

Mensaje por chernandezba » 27 Nov 2016, 11:28

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
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

Avatar de Usuario
Uto
Mensajes: 1394
Registrado: 17 Dic 2015, 16:39

Re: Debugger en ZesarUX

Mensaje por Uto » 27 Nov 2016, 21:47

Ok, voy a ver que puedo hacer con eso, pensaba que el debugger estaba más desarrollado, pero me tendré que apañar :-)

Avatar de Usuario
chernandezba
Mensajes: 841
Registrado: 02 Oct 2015, 23:35

Re: Debugger en ZesarUX

Mensaje por chernandezba » 27 Nov 2016, 23:23

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
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

Avatar de Usuario
Uto
Mensajes: 1394
Registrado: 17 Dic 2015, 16:39

Re: Debugger en ZesarUX

Mensaje por Uto » 27 Nov 2016, 23:54

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.

Avatar de Usuario
chernandezba
Mensajes: 841
Registrado: 02 Oct 2015, 23:35

Re: Debugger en ZesarUX

Mensaje por chernandezba » 28 Nov 2016, 00:07

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
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

Avatar de Usuario
chernandezba
Mensajes: 841
Registrado: 02 Oct 2015, 23:35

Re: Debugger en ZesarUX

Mensaje por chernandezba » 28 Nov 2016, 00:09

Respecto a ver más instrucciones.. si te fijas veras que la ventana ya es muy grande y no cabe nada más... :mecagonto:
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

Avatar de Usuario
Uto
Mensajes: 1394
Registrado: 17 Dic 2015, 16:39

Re: Debugger en ZesarUX

Mensaje por Uto » 28 Nov 2016, 00:15

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.

Avatar de Usuario
Uto
Mensajes: 1394
Registrado: 17 Dic 2015, 16:39

Re: Debugger en ZesarUX

Mensaje por Uto » 28 Nov 2016, 12:10

¿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"...

Avatar de Usuario
chernandezba
Mensajes: 841
Registrado: 02 Oct 2015, 23:35

Re: Debugger en ZesarUX

Mensaje por chernandezba » 28 Nov 2016, 16:37

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
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

Responder