Derniers sujets
Qui est en ligne ?
Il y a en tout 2 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 2 Invités Aucun
Le record du nombre d'utilisateurs en ligne est de 29 le Mer 25 Fév 2015 - 14:01
Connexion
Statistiques
Nous avons 242 membres enregistrésL'utilisateur enregistré le plus récent est AIRBUS44
Nos membres ont posté un total de 8922 messages dans 811 sujets
Debug de problèmes mémoire
2 participants
Forum Oric :: Forums :: Forum Public :: BASIC
Page 1 sur 1
Debug de problèmes mémoire
Est-ce que quelqu'un aurait une solution pour debugger les pb mémoire ?
Ce que je voudrais faire c'est :
- mettre un point d'arrêt à l'endroit où c'est détecté (en ROM) ;
- vérifier les différentes zones mémoire : pile, tableaux, chaînes...
Ce que je voudrais faire c'est :
- mettre un point d'arrêt à l'endroit où c'est détecté (en ROM) ;
- vérifier les différentes zones mémoire : pile, tableaux, chaînes...
Hialmar- Admin
- Messages : 840
Date d'inscription : 03/03/2014
Age : 54
Localisation : Toulouse
Re: Debug de problèmes mémoire
Via Oricutron, non ? ==> F2 permet de passer en mode "moniteur"
La liste des commandes est dans le fichier readme.txt.
tu peux mettre des points d'arrêt sur du code ou des accès mémoire.
La liste des commandes est dans le fichier readme.txt.
tu peux mettre des points d'arrêt sur du code ou des accès mémoire.
drpsy- Messages : 208
Date d'inscription : 20/07/2014
Age : 52
Localisation : Lagny sur Marne
Re: Debug de problèmes mémoire
Oui c'est ça. Mon problème est de trouver l'endroit où mettre le point d'arrêt mais je pense avoir trouvé dans l'Oric à Nu.
J'ai pas eu le temps de tester car j'essayais autre chose.
J'ai pas eu le temps de tester car j'essayais autre chose.
Hialmar- Admin
- Messages : 840
Date d'inscription : 03/03/2014
Age : 54
Localisation : Toulouse
Re: Debug de problèmes mémoire
Ah oui, je vois. Moi, je fais du pas à pas jusqu'à ce qu'un truc me paraisse bizarre.
IL faudrait pouvoir spécifier une valeur aussi : STOP quand une zone mémoire ou un registre atteint une valeur. Parce que le pas à pas quand tu es dans une boucle, ça peut être long, et souvent, c'est aux limites qu'il y a des problèmes...
Bonne chance !
IL faudrait pouvoir spécifier une valeur aussi : STOP quand une zone mémoire ou un registre atteint une valeur. Parce que le pas à pas quand tu es dans une boucle, ça peut être long, et souvent, c'est aux limites qu'il y a des problèmes...
Bonne chance !
drpsy- Messages : 208
Date d'inscription : 20/07/2014
Age : 52
Localisation : Lagny sur Marne
Re: Debug de problèmes mémoire
On peut faire ça avec Oricutron.
Hialmar- Admin
- Messages : 840
Date d'inscription : 03/03/2014
Age : 54
Localisation : Toulouse
Re: Debug de problèmes mémoire
Juste au cas où quelqu'un à le même problème, voilà ce qu'il faut faire :
J'ai trouvé le pb avec un breakpoint sur #C47C (l'endroit de la ROM ou ça affiche le fameux Out Of Memory error).
Quand ça plante il faut contrôler le pointeur de pile (SP) et les valeurs qui indiquent les bornes des zones mémoire. Je colle un bout du bouquin de Geoff Phillips qui indique ça (c'est en Anglais mais assez facile je pense) :
J'ai trouvé le pb avec un breakpoint sur #C47C (l'endroit de la ROM ou ça affiche le fameux Out Of Memory error).
Quand ça plante il faut contrôler le pointeur de pile (SP) et les valeurs qui indiquent les bornes des zones mémoire. Je colle un bout du bouquin de Geoff Phillips qui indique ça (c'est en Anglais mais assez facile je pense) :
- Code:
#0501 – ( #9C) – 1 – the BASIC program occupies memory as far as
indicated by the address in locations #9C and #9D.
( #9C) – ( #9E) – 1 – any simple numeric variables are stored here,
along with the identification of each string variable.
( #9E) – ( #A0) – 1 – numeric arrays are stored in this area, along with
the identification of string arrays.
( #AO) – ( #A2) – this area of memory is unused. It can be seen that
pointer #A0 reaches up to meet pointer #A2 coming down. (#A2)+1 – (#A6) – this area is used for storing both permanent and
temporary strings of data. Temporary strings are only cleared
when there is no more room below #A2, or when the FRE function is used.
Hialmar- Admin
- Messages : 840
Date d'inscription : 03/03/2014
Age : 54
Localisation : Toulouse
Re: Debug de problèmes mémoire
Bon j'étais fatigué hier soir. Si le problème est dû aux variables je ne sais pas vraiment comment le trouver.
Les bornes ne sont que des bornes, elle n'indiquent pas si tout est utilisé entre les bornes.
Si quelqu'un sait ça m'intéresse.
Les bornes ne sont que des bornes, elle n'indiquent pas si tout est utilisé entre les bornes.
Si quelqu'un sait ça m'intéresse.
Hialmar- Admin
- Messages : 840
Date d'inscription : 03/03/2014
Age : 54
Localisation : Toulouse
Re: Debug de problèmes mémoire
Faire un dump et l'éditer en hexa ? Regarder ce qui se passe entre les bornes ?
Identifier les pointeurs et vérifier qu'ils ne pointent pas dans une zone incongrue ?
Ça a l'air basique ce que je dis...
C'est une routine en ROM qui plante ?
Identifier les pointeurs et vérifier qu'ils ne pointent pas dans une zone incongrue ?
Ça a l'air basique ce que je dis...
C'est une routine en ROM qui plante ?
drpsy- Messages : 208
Date d'inscription : 20/07/2014
Age : 52
Localisation : Lagny sur Marne
Re: Debug de problèmes mémoire
Si ton programme est en basic, est-ce que tu sais à quelle ligne du programme l'erreur se produit ?
Un DIM ? Une affectation de chaîne de caractères ?
(de plus en plus basique...)
Un DIM ? Une affectation de chaîne de caractères ?
(de plus en plus basique...)
drpsy- Messages : 208
Date d'inscription : 20/07/2014
Age : 52
Localisation : Lagny sur Marne
Re: Debug de problèmes mémoire
Il y a peut être des éléments de réponse dans ce topic : http://forums.oric.org/t59-programmation-basic
drpsy- Messages : 208
Date d'inscription : 20/07/2014
Age : 52
Localisation : Lagny sur Marne
Re: Debug de problèmes mémoire
Merci beaucoup mais mon pb est que j'ai un programme en C qui charge le prog Basic et vice-versa. Plusieurs fois.
Les programmes marchent très bien tout seuls. C'est l'interaction entre les deux qui finit de les faire planter.
Dbug sur defence-force m'a proposé quelque chose que je vais tester. Ensuite il faudra que je me plonge sur la façon de voir ce qui se passe entre les bornes.
A priori mon pb est sur un tableau.
Les programmes marchent très bien tout seuls. C'est l'interaction entre les deux qui finit de les faire planter.
Dbug sur defence-force m'a proposé quelque chose que je vais tester. Ensuite il faudra que je me plonge sur la façon de voir ce qui se passe entre les bornes.
A priori mon pb est sur un tableau.
Hialmar- Admin
- Messages : 840
Date d'inscription : 03/03/2014
Age : 54
Localisation : Toulouse
Sujets similaires
» Programmation BASIC
» aide mémoire Poke 2ab ???
» mode HIRES et mémoire perdue ?
» Chargement d'un programme depuis une carte mémoire (SD, clé USB...) sur Oric Atmos?
» problème d'affichage écriture dans adresse mémoire écran, routine de scrolling
» aide mémoire Poke 2ab ???
» mode HIRES et mémoire perdue ?
» Chargement d'un programme depuis une carte mémoire (SD, clé USB...) sur Oric Atmos?
» problème d'affichage écriture dans adresse mémoire écran, routine de scrolling
Forum Oric :: Forums :: Forum Public :: BASIC
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|
Dim 31 Mar 2024 - 14:35 par kenneth
» Bla Bla général du Jury
Jeu 21 Mar 2024 - 8:51 par Dom50
» carte mère Oric (re)tracée
Mar 5 Mar 2024 - 18:54 par kenneth
» Meurtre à Grande Vitesse
Dim 25 Fév 2024 - 5:09 par Iurius
» ORIC-1 sur LE BON COIN
Ven 23 Fév 2024 - 23:01 par Mcar
» ORIC ATMOS sur LE BON COIN
Dim 4 Fév 2024 - 12:06 par kiwilevrai
» Problème d'affichage des couleurs avec un Oric Atmos
Sam 27 Jan 2024 - 1:26 par pierbail
» Bienvenue dans le Forum des Oriciens
Mar 9 Jan 2024 - 12:33 par Dom50
» Rencontre avec Laurant Weill, co-fondateur de Loriciel, et mon garçon de 12 ans
Ven 29 Déc 2023 - 14:13 par Arcade-des-Monts
» Bonnes fêtes
Mar 26 Déc 2023 - 10:21 par Dom50
» Murders in Venice / Meutres à Venise
Sam 18 Nov 2023 - 22:44 par retroric
» Un clavier PS/2 pour tester un ORIC
Dim 27 Aoû 2023 - 9:49 par Voyageur
» Disquette 3" Sedoric
Mar 1 Aoû 2023 - 14:22 par AtomeX
» faire un 6502 avec des phototransistor
Dim 16 Juil 2023 - 17:26 par Voyageur
» Oricutron linux et DSK
Jeu 29 Juin 2023 - 18:34 par Voyageur