Monday, April 12, 2010

Debugueando TORO en Eclipse+QEMU sobre Win64

Al intentar hacer lo mismo sobre Windows me encontré con un grave error en la aplicación GDB. Recordemos que para hacer el Debug , la IDE se conecta al gdbserver a traves del gdb cliente (gdb.exe).Al intenter introducir breakpoints , ocurria el siguiente error :
"Remote 'g' packet reply is too long:
> 0000000000000000000000000000000000000000000000002306000 "
Esto pasa cuando la maquina virtual llega al breakpoint y el gdbserver le enviaba información acerca del estado de la maquina al cliente . Luego de buscar este problema en otros foros , no encontré ninguna solución. Con cambiar la arquitectura, debería ser suficiente :

"SET ARCHITECTURE I386:X86-64:INTEL"

.En Linux esto funciono bien , pero no en Windows. Lo que ocurre es que cuando el cliente gdb se conecta a qemu , este le informa que los tamaños de registros corresponden al de una maquina en modo real de 16 bits. Pero cuando uno pone un breakpoint en el código de toro, la maquina virtual se encuentra en Modo Long con registros de 64bits , con lo cual el paquete enviado sobrepasa el tamaño fijado al comienzo de la conexion y gdb tira ese error.
Lo que hice fue recompilar gdb-7.0 en Win64 y aplicar un parche sencillo por el momento, pero que funciona muy bien. Subiré mi versión de GDB en el próximo paquete que estoy construyendo con todas las herramientas para compilar y testear TORO incluidas.

Saludos.
Matias E. Vara

Monday, April 05, 2010

Debugueando TORO en Eclipse+QEMU

Hola, luego de mucho tiempo buscando la herramienta ideal para compilar y testear toro rapidamente creo haberla encontrado. Casi de casualidad me encontre con la IDE Eclipse y la posibilidad de debugear Linux desde la IDE , y por otro lado encontre un plug-in para dar soporte al lenguaje pascal desde Eclipse. Uniendo estas dos herramientas pude compilar y ejecutar toro paso a paso , linea por linea , colocar breakpoints , etc . Resulto ser una muy potente herramienta que permitira encontrar problemas facilmente. Estoy utilizando la ultima version de Eclipse en un Ubuntu de 64 bits.
Aqui subo un par de screen para motivarlos. Todavia no lo tengo funcionando al 100% .
Pantallas de la ejecucion paso a paso :





Esta es la ventana de qemu que estaba utilizando.




Saludos.