Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1614 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Détection d'allocations mémoire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Détection d'allocations mémoire

n°768017
sangohan00​1
Posté le 17-06-2004 à 20:16:18  profilanswer
 

Bonjour,
 
J'ai un programme en C++ qui utilise une fonction et je voudrais pouvoir vérifier si cette fonction effectue des allocations mémoires.
 
Je dispose de purify qui me permet de connaitre le nombre de blocs mémoire alloués par l'ensemble du programme mais pas par une seule fonction.
 
Si qqun a une idée...
 
Merci d'avance
 
Sangohan

mood
Publicité
Posté le 17-06-2004 à 20:16:18  profilanswer
 

n°768103
printf
Baston !
Posté le 17-06-2004 à 22:07:55  profilanswer
 

Question naïve : sans remettre en cause l'utilisation d'outils comme Purify, dont l'utilité n'est pas à démontrer, qu'est-ce qui t'empêche d'obtenir cette information simplement en regardant le code de la fonction :??: (à moins justement que tu n'ai pas accès au code source).


---------------
Un matin je me lèverai et il fera beau.
n°768121
sangohan00​1
Posté le 17-06-2004 à 22:44:21  profilanswer
 

Je n'y ai pas acces, d ou la question !!

n°768131
Taz
bisounours-codeur
Posté le 17-06-2004 à 22:57:30  profilanswer
 

tu regarde son code assembleur alors :D

n°768133
el muchach​o
Comfortably Numb
Posté le 17-06-2004 à 22:58:47  profilanswer
 

Ben le plus simple : tu regardes la taille de la mémoire occupée avant et après l'appel de ta fonction et tu l'écris si la différence est non nulle.

n°768229
Taz
bisounours-codeur
Posté le 18-06-2004 à 07:12:27  profilanswer
 

ça ne marche pas à cause du cache de l'allocateur côté utilisateur

n°768443
HelloWorld
Salut tout le monde!
Posté le 18-06-2004 à 10:36:49  profilanswer
 

Elle se trouve ou cette fonction ?
Sous quelle forme ?


Message édité par HelloWorld le 18-06-2004 à 10:37:03

---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°768973
el muchach​o
Comfortably Numb
Posté le 18-06-2004 à 13:51:15  profilanswer
 

On peut peut-être utiliser strace, qui dumpe tous les appels système. Il y a une version Linux et NT.

n°768980
Taz
bisounours-codeur
Posté le 18-06-2004 à 13:58:35  profilanswer
 

bah new/malloc ne sont pas des appels systèmes

n°769471
Joel F
Real men use unique_ptr
Posté le 18-06-2004 à 17:46:39  profilanswer
 

tu te fait une classe de MemoryPool et tu trace ces appels avec un Watcher.

mood
Publicité
Posté le 18-06-2004 à 17:46:39  profilanswer
 

n°769673
sangohan00​1
Posté le 19-06-2004 à 00:25:06  profilanswer
 

Merci pour vos réponses.
 

HelloWorld a écrit :

Elle se trouve ou cette fonction ?  
Sous quelle forme ?


 
Elle se trouve dans une librairie statique et je dispose de son entete dans un .hpp.
 
J'ai réussi avec les fonctions "purify_new_inuse" et "purify_new_leaks" à détecter les éventuelles fuites mémoires de ma fameuse fonction...
Mais si une allocation et la désallocation correspondante sont effectuées dans cette fonction, je ne peux pas m'en apercevoir !
 

Joel F a écrit :

tu te fait une classe de MemoryPool et tu trace ces appels avec un Watcher.


 
Peux tu expliciter un petit peu, stp ?
 
 
Merci à tous
 
Sangohan

n°769842
Joel F
Real men use unique_ptr
Posté le 19-06-2004 à 12:54:05  profilanswer
 

tu creer une classe à qui tu va déléguer la creation de ta mémoire (style Factory ou VirtualFactory). Lors de la création de tes objets ou des tes zones mémoires, tu appelles une méthode statique de ta MemoryPool en lieu et place de new et delete.
 
Ensuite pour logger tout ca, il suffit d'utiliser une classe de Watcher (dont j'ai donné le code y a pas logntemps sur ce forum).
 
cf Design Pattern par Gamma & cie pr les details.

n°769846
Taz
bisounours-codeur
Posté le 19-06-2004 à 12:59:22  profilanswer
 

non mais attends, le gus il a que le binaire :o

n°769866
Joel F
Real men use unique_ptr
Posté le 19-06-2004 à 13:38:10  profilanswer
 

ah bon ok ^^ je m'en vasi alors ^^


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Détection d'allocations mémoire

 

Sujets relatifs
Mmap probleme d allocation memoire d un tableau double entréeQuestion sur la memoire
Questions sur la mémoireDetection hardware et Aquisition Audio en C++
[Visual Basic] utilisation d'un dll C++ && fuite memoireDetection d'une expression numerique dans une chaine
Rafraichissé moi la memoire, requete sql[C] Pkoi mes fonctions prennent tant de place en mémoire?
Recherche de string ds un bloc mémoire sans typeThread, prob libération mémoire
Plus de sujets relatifs à : Détection d'allocations mémoire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR