Erreurs de page pendant l'exécution du programme

Résolu
Emandhal Messages postés 194 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 10 octobre 2006 - 17 oct. 2004 à 13:22
Emandhal Messages postés 194 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 10 octobre 2006 - 19 oct. 2004 à 12:32
Bonjour!
Je suis en train de faire un programme (c'est original, je sais ;) ), il marche parfaitement (c'est génial pour moi :) ). Mais il y a un petit problème qui subsiste, il parrait que c'est pas grave mais ca m'inquiète un peu.

Lors de l'exécution du programme, on peut avoir des statistiques dans le "gestionnaire des tâches". Celle qui m'interesse c'est les "erreurs de page". Bon il y en a, il parrait que c'est pas grave du tout et que c'est dû au systeme qui s'en sert pour faire des trucs genre heu... remapper le swap en memoire ou augmenter la taille de la pile.

Mon problème c'est que au bout de 20min d'éxécution j'en ai 4 300 000... Je trouve ce "score" un peu trop élevé pour moi.

Ma question est (oui oui elle est enfin là :big) ) :
Y'a-t-il des choses qui ne faut pas faire ou qu'il faut faire dans un programme delphi pour les réduire? Un code quelconque ou autre chose?

Tout problème a sa solution... Mais en général, c'est jamais la bonne...

4 réponses

Emandhal Messages postés 194 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 10 octobre 2006 3
19 oct. 2004 à 12:08
Bon j'ai trouvé le problème, ca ne venait pas de moi ni de mon code (ouf :-p ). En fait celà venait d'un API windows.

J'avais trouvé un code sur le net qui permettait de récupérer le nom de l'application qui avait créé la fenêtre indiqué par un handle. Cette fonction à chaque accès prennais 90 "erreurs de page" j'en ai trouvé une autre qui n'en fait plus que 40.

Je ne pense pas pouvoir faire mieux donc... ça restera comme ça.

Tout problème a sa solution... Mais en général, c'est jamais la bonne...
3
Emandhal Messages postés 194 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 10 octobre 2006 3
18 oct. 2004 à 12:47
Après recherche, j'ai réussi à isoler une partie du code qui faisait ça. Manque de chance, le c'est la partie la plus complexe et la plus grosse. Je dois trouver précisément le problème en procédant par dicothomie.

Tout ca pour vous dire que je soupsonne que mon problème vienne d'une fuite de mémoire (des variables et/ou objects mais détruits).

Je dis ça, des fois que ça puisse aider des personnes dans le même cas que moi.

Tout problème a sa solution... Mais en général, c'est jamais la bonne...
0
cs_leveugle Messages postés 27 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 18 novembre 2004
18 oct. 2004 à 14:37
Salut,

pour tester / tracker les erreurs de fuite mémoire, tu peux utiliser Memcheck... tu n'auras pas de mal à trouver un site pour le télécharger je pense...

Damien
0
Emandhal Messages postés 194 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 10 octobre 2006 3
19 oct. 2004 à 12:32
Merci à toi leveugle, j'en avais deja entendu parler mais j'ai du mal à m'en servir. J'essaierai de mieux me pencher dessus la prochaine fois :big)

Tout problème a sa solution... Mais en général, c'est jamais la bonne...
0
Rejoignez-nous