Aide - Recherche - Membres - Calendrier
Version complète : Verifier son appli. palm
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS
ngc666
Je developpe actuellement une appli. qui utilise beaucoup d'allocations dynamiques et je me demandais s'il y a pas une appli qui permet de verifier que je desalloue la memoire correctement. Du genre verification avant et après. Voir même une appli, il me semble avoir deja vu ça sur un site consacré à hspascal ou à un forth sur palm, qui met à rude epreuve une appli en cours d'execution en simulant des actions de l'utilisateur ... icon_question.gif Patriiicccee rolleyes.gif
Caporal Kro
Tu parles certainement de POSE, l'émulateur avec son menu setting/debugger...

Et aussi les gremlins, toujours dans POSE. Je les ai jamais utilisés mais ca doit faire ce que tu dis, simuler un utilisateur qui va essayer des tas de combnaisons d'actions dans ton appli.
Patrice
Je ne suis pas sur que la réponse du capitaine soit très clair (désolé mon KRO anim_wink.gif ) : l'émulateur te dit "automatiquement" s'il subsiste des zones mémoires allouées non libérées lorsque tu quittes une appli. Pour descendre à un niveau plus fin (sur une form par exemple), j'ai souvenir d'avoir vu un article complet sur la question, mais où ??? (si tu veux faire des recherches : utilise l'expression "memory leak" sur google).
ngc666
CITATION(Patrice)
l'émulateur te dit "automatiquement"

Ah bon !? , je suis pas un pro de cet emulateur et ne l'utilise pas en profondeur, y a sans doute des manips à faire au niveau du menu, je vais approfondir celà. En tout cas, merci icon_biggrin.gif
olivier101
Il ne faut pas une ROM version debug ??
ngc666
Ca décoiffe les gremlins 8O et ça a bien planté mon appli icon_cry2.gif
Patrice
CITATION(olivier101)
Il ne faut pas une ROM version debug ??

Non, avec les versions récentes de PalmSource, il génère un log à chaque fois qu'il détecte une fuite mémoire (contenant plein d'informations utiles) et je n'ai jamais trouvé de paramétrage pour le désactiver (parce que parfois c'est pénible, avec certains softs qui sont mal écrits).
ngc666
Ca marche aussi avec le simulateur ? car mon appli est en OS 5.
Patrice
Bonne question... Je n'ai pas souvenir d'avoir eu le message sur le simulateur...
naguttes
CITATION(Patrice)
Je ne suis pas sur que la réponse du capitaine soit très clair (désolé mon KRO anim_wink.gif ) : l'émulateur te dit "automatiquement" s'il subsiste des zones mémoires allouées non libérées lorsque tu quittes une appli. Pour descendre à un niveau plus fin (sur une form par exemple), j'ai souvenir d'avoir vu un article complet sur la question, mais où ??? (si tu veux faire des recherches : utilise l'expression "memory leak" sur google).


Ca m'interesse, je vais faire des recherches (dès que mon accès internet à la maison remarche) car j'ai le même problème sur l'appli que j'essaye de développer. Je posterai si je trouve quelque chose.
olivier101
CITATION(Patrice)
Bonne question... Je n'ai pas souvenir d'avoir eu le message sur le simulateur...
^
Oui, j'ai un message en sortie de PalmVNC sur le simulateur concernant un bloc non libéré. Par contre je ne sais pas si ça vient des ROMS debug que j'utilise, ou bien si c'est implémenté dans le simulateur.
Patrice
Pour l'émulateur, je suis 100% certain que c'est l'émulateur et non la ROM qui teste la mémoire. J'imagine qu'il en est de même pour le simulateur.
ngc666
Je viens de tester le simulateur 5.2 debug.
1) Il est rose 8O , bizarre
2) Il me jette en erreur sur
list.c, Line:806, Invalid item
Comment je fais le lien avec mon appli, j'ai pas de list.c
3) Erreur sur
systemmgr.c, Line:3996, Minor error while exiting app: un-freed chunk at 0x00F04498, size 40 (ownerID 2)
OK mais pour retrouver ça , dur...
Patrice
2) Invalid item : tu as une liste qui essaie d'afficher un item inconnu au bataillon. L'erreur se produit dans l'OS, d'où la référence à list.c, qui ne t'aidera effectivement pas beaucoup.

3) va voir dans le répertoire du simulateur s'il ne t'a pas créé un fichier log (c'est là que je trouve toutes les infos dont j'ai besoin dans ce cas... mais sur émulateur).
ngc666
La fuite mémoire n'apparait pas à l'ecran et j'ai reporté tout ce qu'il y a dans errorlog.txt.
Pour rigoler j'ai lancé palmvnc aussi, ça fait du bien anim_wink.gif, j'ai pas pu aller plus loin que 2 messages d'erreur !
Patrice
Ah je vois... Mais dans mon cas, le log m'indique où le bloc a été alloué et ce qu'il contient (ce qui est fort utile)...
olivier101
CITATION(ngc666)
La fuite mémoire n'apparait pas à l'ecran et j'ai reporté tout ce qu'il y a dans errorlog.txt.  
Pour rigoler j'ai lancé palmvnc aussi, ça fait du bien  :wink:, j'ai pas pu aller plus loin que 2 messages d'erreur !

Quoi?? Moi je n'ai qu'une erreur en sortie sur un bloc non libéré !!! Tu n'as pas essayé avec une version antédiluvienne par hasard ?
ngc666
J'ai téléchargé le simulateur cet après midi (version 5.2 debug), par contre c'est peut-être ma version de palmvnc qui est effectivement vieille, je regarde...ah oui ... elle date de 2001 et c'est la version 1.40 sourire.gif
olivier101
Oufffffff !
La version 1.40 était très mal élevée, elle faisait des accès directs à l'écran dans tous les sens, et accédait directement (horreur!) aux structures internes des objects système.
Si ça peut te rassurer, sur la dernière version j'ai le même pb que toi (un-freed chunk at xxxxx, size 40) et je n'ai pas trouvé le responsable (mais je n'ai pas trop cherché non plus, pour 40 malheureux octets... sleep.gif )
ngc666
icon_bla.gif Désolé, j'avais pas assez d'historique pour capter que tu es responsable du developpement de ce soft, je croyais que tu l'avais cité juste comme exemple. Félicitations icon_biggrin.gif
Patrice
CITATION(olivier101)
Si ça peut te rassurer, sur la dernière version j'ai le même pb que toi (un-freed chunk at xxxxx, size 40) et je n'ai pas trouvé le responsable (mais je n'ai pas trop cherché non plus, pour 40 malheureux octets... sleep.gif )

Honte sur toi !!!! anim_wink.gif
ngc666
J'ai été plus rapide, je n'ai plus l'erreur sourire.gif , mais j'ai fait tellement de modifs que je ne sais plus ce qui l'a supprimé, je vais regarder ça de plus près.
ngc666
icon_idea.gif Ca y est, cela venait de l'oubli des "DmReleaseResource" de mes fonts en quittant l'appli.
olivier101
CITATION(Patrice)
Honte sur toi !!!!  :wink:

Oui icon_bla.gif Tiens du coup je vais regarder ce soir.... sleep.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.