MSX Village forum

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

Visiteur

Vagabond

Rang

Avatar

Message : 0

Le 24/08/2015 à 13h35
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
   
Visiteur

Vagabond

Rang

Avatar

Message : 0

Le 24/08/2015 à 15h21
A priori OpenMSX permet la saisie de watchpoints, je pense que c'est ce qu'il me faut ;)
   
6502man Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 19/08/2013 à 18h14

Messages: 815

Le 24/08/2015 à 17h05
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é :lol
le tout dans une fenêtre "window" indépendante :kiss

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


Site web    
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 24/08/2015 à 18h21
Le debuggeur d'OpenMSX, une fois activé, enregistre au fur et à mesure le code exécuté. Après on peut voir ce code désassemblé et donc faire des retours en arrière. Je trouve cette méthode pas très convaincante.
   
Visiteur

Vagabond

Rang

Avatar

Message : 0

Le 25/08/2015 à 09h34
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!
   
6502man Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 19/08/2013 à 18h14

Messages: 815

Le 25/08/2015 à 10h03
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 .


Site web    
Visiteur

Vagabond

Rang

Avatar

Message : 0

Le 25/08/2015 à 10h09
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 .




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).
   
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 25/08/2015 à 16h35
Il ne faut pas trop en demander à ce débogeur. Il fait le minimum et il a parfois des ratés mais il dépanne bien.
   
Sector28 Membre non connecté

Villageois

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 12/05/2018 à 23h00

Messages: 553

Le 25/08/2015 à 23h02
j'utilise openmsx pour détecter les accès en écriture/lecture d'adresse, mais je débogue principalement sur bluemsx.


Toute matrice carrée sur un corps K, dont le polynôme caractéristique est scindé, est semblable à une matrice de Jordan. Cette réduction est unique à l'ordre des blocs près. De plus, toute matrice carrée nilpotente sur un corps K est semblable à une matrice de Jordan dont chaque bloc est associé à la valeur 0. Évidement, cette réduction est encore unique à l'ordre des blocs près...
:)
   
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10338

Le 25/08/2015 à 23h19
@Sector 28bis : j'ai tapé le code de ton avatar dans shem mais ça ne veux rien dire en assembleur Z80 :fou


:noel
Site web    
Sector28 Membre non connecté

Villageois

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 12/05/2018 à 23h00

Messages: 553

Le 25/08/2015 à 23h34
pas étonnant, il s'agit de ma configuration neuronale .. :fou


Toute matrice carrée sur un corps K, dont le polynôme caractéristique est scindé, est semblable à une matrice de Jordan. Cette réduction est unique à l'ordre des blocs près. De plus, toute matrice carrée nilpotente sur un corps K est semblable à une matrice de Jordan dont chaque bloc est associé à la valeur 0. Évidement, cette réduction est encore unique à l'ordre des blocs près...
:)
   
Visiteur

Vagabond

Rang

Avatar

Message : 0

Le 26/08/2015 à 11h03
Jipe :
@Sector 28bis : j'ai tapé le code de ton avatar dans shem mais ça ne veux rien dire en assembleur Z80 :fou




Je me suis fait avoir aussi, on aurait espéré trouver une petite énigme... :D
   
Sector28 Membre non connecté

Villageois

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 12/05/2018 à 23h00

Messages: 553

Le 26/08/2015 à 13h58
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 ... :glass


Toute matrice carrée sur un corps K, dont le polynôme caractéristique est scindé, est semblable à une matrice de Jordan. Cette réduction est unique à l'ordre des blocs près. De plus, toute matrice carrée nilpotente sur un corps K est semblable à une matrice de Jordan dont chaque bloc est associé à la valeur 0. Évidement, cette réduction est encore unique à l'ordre des blocs près...
:)
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie