domingo, 7 de diciembre de 2014

Estado inicial de NitroDebugger

Tiempo de retomar NitroDebugger.

A finales de marzo fue cuando me pregunté ¿cómo se comunica IDA Pro con DeSmuME?. Tras estar buscando información sobre qué era GDB Remote, acabé leyendo la especificación. GDB Remote Serial Protocol es un protocolo que permite la comunicación entre dos equipos, uno que estará depurando un programa, y otro que estará controlando ese depurador a distancia mediante una conexión TCP. Se trata de un protocolo muy sencillo al que entraré en profundidad en otra ocasión. Dado que no podía parar de pensar en ello, decidí comenzar a hacer unas sencillas pruebas.

Comandos implementados hasta hoy.

Lo dejé a los pocos días, y está en estado de una prueba de concepto. Implementé de manera rápida los comandos más usuales como continuar, parar e hice un intento de obtener código en ensamblador. Como no hay un comando de ese protocolo para ese propósito pues se supone que es el cliente el que se encargaría de obtener los datos de la RAM y convertirlos a instrucciones, inventé yo uno y lo implementé en DesMuME. Esto será temporal.

Su futuro inmediato será una revisión y estructurado del código. Escribiré el código base sobre el cual se pueda implementar de forma paralela una linea de comandos y una interfaz gráfica con XWT. También intentaré aplicar la metodología TDD, todo un experimento.