Je voudrais utiliser Electric Fence dans une application MFC. Je voudrais suivre new
/delete
, et si je peux suivre malloc
/free
c'est un bonus supplémentaire.Est-il possible de remplacer l'allocateur de mémoire dans une version de débogage d'une application MFC?
Malheureusement, MFC redéfinit new
et delete
- mais en utilisant des macros (DEBUG_NEW) - donc je ne peux pas utiliser la méthode standard C++ pour les redéfinir. (MFC les définit pour avoir différentes signatures, avec le fichier source et les numéros de ligne comme paramètres supplémentaires).
Existe-t-il un moyen de forcer tous les new
/delete
à passer par mon allocateur et d'empêcher MFC d'essayer de récupérer ces allocateurs?
Pourquoi ne pouvez-vous définir votre propre DEBUG_NEW macro et de l'utiliser au lieu de MFCs? –
Il semble que peu importe comment j'essaie d'obtenir toutes les macros, il y a toujours du code dans les entrailles de MFC qui va essayer d'utiliser l'allocateur de débogage. – stusmith
Malheureusement, le projet que je suis prend environ. 30 minutes pour compiler, donc chaque petite modification aux en-têtes principaux gaspille une grande partie de ma journée. Je vais essayer d'autres changements ce soir et le laisser se développer du jour au lendemain. – stusmith