La Place des Développeurs debugger sur emulateur MSX quel est celui que vous préférez ?
Visiteur
Vagabond

Message : 0
Hello à tous amis développeurs et curieux de coding,
Je voudrais savoir quel debugger vous préférez pour ses fonctions ou ses aptitudes pratiques.
Actuellement je suis à la recherche d'un debugger qui permettrait d'indiquer un point d'arrêt lorsqu'un registre change ou prend une certaine valeur et encore mieux, lorsqu'une adresse mémoire est lue ou est accédée en écriture.
Merci pour vos retours sur le sujet! Edité par Visiteur Le 24/08/2015 à 13h35
Je voudrais savoir quel debugger vous préférez pour ses fonctions ou ses aptitudes pratiques.
Actuellement je suis à la recherche d'un debugger qui permettrait d'indiquer un point d'arrêt lorsqu'un registre change ou prend une certaine valeur et encore mieux, lorsqu'une adresse mémoire est lue ou est accédée en écriture.
Merci pour vos retours sur le sujet! Edité par Visiteur Le 24/08/2015 à 13h35
Personnellement j'utilise BLUEMSX avec son debuggeur et ca me convient très bien pour mettre au point mes programmes assembleur 
Le debuggeur n'est pas forcement très intuitif au début mais après on ce débrouille très bien et tu peux mettre autant de watchpoints que tu veux, faire du pas à pas modifier les registres même PC
et plus si affinité
le tout dans une fenêtre "window" indépendante
J'avais essayé OpenMSX mais pas réussi à utiliser le debuggeur

Le debuggeur n'est pas forcement très intuitif au début mais après on ce débrouille très bien et tu peux mettre autant de watchpoints que tu veux, faire du pas à pas modifier les registres même PC

et plus si affinité

le tout dans une fenêtre "window" indépendante

J'avais essayé OpenMSX mais pas réussi à utiliser le debuggeur

Visiteur
Vagabond

Message : 0
Je n'ai pas trouvé comment mettre un watchpoint avec BlueMSX (arrêter le programme au moment d'une lecture ou écriture d'une adresse mémoire).
Avec OpenMSX je l'ai fait, exemple :
F10 pour passer en debug
>debug set_watchpoint read_mem {0x054EA 0x054EB 0x054EC 0x054ED}
ensuite on fait disasm pour voir à quel endroit du code l'adresse a été accédée.
Le problème avec OpenMSX c'est que tout se passe en ligne de commande ce qui est un peu rébarbatif. Je n'ai pas réussi à faire de copier/coller pour ces commandes. Ensuite le nombre de lignes affichées est un peu limité.
Je n'ai pas encore compris comment utiliser le mode "remote".
En tous cas merci pour vos réponses sur le sujet!
Avec OpenMSX je l'ai fait, exemple :
F10 pour passer en debug
>debug set_watchpoint read_mem {0x054EA 0x054EB 0x054EC 0x054ED}
ensuite on fait disasm pour voir à quel endroit du code l'adresse a été accédée.
Le problème avec OpenMSX c'est que tout se passe en ligne de commande ce qui est un peu rébarbatif. Je n'ai pas réussi à faire de copier/coller pour ces commandes. Ensuite le nombre de lignes affichées est un peu limité.
Je n'ai pas encore compris comment utiliser le mode "remote".
En tous cas merci pour vos réponses sur le sujet!
sous bluemsx c'est très simple :
tu ouvre le "debugger"
Ensuite tu clique sur le signe pause "||" dans la barre d’icônes en haute de la fenêtre debugger.
dans la partie disassembly tu as le code désassemblé qui apparait et tu peut rajouter soit en cliquant sur la bande grise pour mettre un breakpoint soit sélectionner debug->Add new Breakpoint dans le menu et rentrer directement l'adresse en hexa du breakpoint .
tu ouvre le "debugger"
Ensuite tu clique sur le signe pause "||" dans la barre d’icônes en haute de la fenêtre debugger.
dans la partie disassembly tu as le code désassemblé qui apparait et tu peut rajouter soit en cliquant sur la bande grise pour mettre un breakpoint soit sélectionner debug->Add new Breakpoint dans le menu et rentrer directement l'adresse en hexa du breakpoint .
Visiteur
Vagabond

Message : 0
6502man :
sous bluemsx c'est très simple :
tu ouvre le "debugger"
Ensuite tu clique sur le signe pause "||" dans la barre d’icônes en haute de la fenêtre debugger.
dans la partie disassembly tu as le code désassemblé qui apparait et tu peut rajouter soit en cliquant sur la bande grise pour mettre un breakpoint soit sélectionner debug->Add new Breakpoint dans le menu et rentrer directement l'adresse en hexa du breakpoint .
tu ouvre le "debugger"
Ensuite tu clique sur le signe pause "||" dans la barre d’icônes en haute de la fenêtre debugger.
dans la partie disassembly tu as le code désassemblé qui apparait et tu peut rajouter soit en cliquant sur la bande grise pour mettre un breakpoint soit sélectionner debug->Add new Breakpoint dans le menu et rentrer directement l'adresse en hexa du breakpoint .
Cela fonctionne pour ajouter un breakpoint (arrêt lorsque l'instruction est exécutée) mais cela ne fonctionne pas pour un watchpoint (arrêt lorsque l'adresse est accédée en lecture ou écriture ; il s'agit d'une adresse de data et non de code).


en fait, il s'agit d'un programme spaghetti z80 qui s'automodifie, le plus dur est de trouver l'adresse d'implantation et surtout l'adresse d'exécution, sans vous parler du contenu des registres ... je vous laisse poireauter ...

DONALD TRUMP IS FAST APPROACHING
NEMESIS ! RETURN IMMEDIATELY !
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie