Je ne sais pas ou poster ce message mais comme je programme en C et C++, ben je le poste ici.![]()
J'utilise la surcharge des opérateurs new et delete afin de suivre le bon déroulement de la gestion de la mémoire dynamique.
Mais si on veut suivre de très près cette mémoire cela veut dire qu'il faudrait surcharger tous les opérateurs et toutes les fonctions qui font de l'allocation dynamique.
Un travail assez fastidieux, mais envisageable certe.
Sous linux par exemple l'espace d'adressage d'un processus est de 3 gigaoctets. Lorsque ce processus viole cette espace c'est le signal d'erreur assuré.
Existerait-il un moyen de surveiller tout ce qui se passe au niveau de la mémoire dynamique. Une idée comme ça, à l'arrache, j'alloue le maximum de mémoire autorisée, je la rempli de zéro (ou de 0xff). Je sais ce que j'alloue donc je peux contrôler la correspondance.
Je sais aussi qu'avec l'opérateur new ça ne doit pas se passer aussi simplement que ça, mais ce serait histoire de savoir s'il existe des possibilités.
Est-ce que c'est vraiment très complexe et est-ce qu'un débugeur ne fonctionne-t-il pas de la sorte.
Merci pour vos éclaircissements.
Partager