J'essaie d'utiliser la détection de fuite de mémoire CRT, mais je reçois le message suivant dans Microsoft Visual Studio: "Fuites de mémoire détectées - ignorer le vidage d'objet". Je ne peux jamais obtenir le faire réellement et le dumping d'objet.Visual Studio _CrtDumpMemoryLeaks toujours ignorer le vidage d'objet
J'ai suivi les instructions dans l'article de Microsoft sur la détection de fuite de mémoire (http://msdn.microsoft.com/en-us/library/e5ewb1h3(VS.80).aspx) sans succès.
Dans mon stdafx.h je (reconstruit l'ensemble du projet):
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
Au point de ma demande, j'ai d'entrée:
_CrtSetDbgFlag (_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
Je suis aussi en espérant que cela afficher le nom du fichier et le numéro de ligne dans le format annoncé Microsoft:
Detected memory leaks!
Dumping objects ->
C:\PROGRAM FILES\VISUAL STUDIO\MyProjects\leaktest\leaktest.cpp(20) : {18}
normal block at 0x00780E80, 64 bytes long.
Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
Object dump complete.
Bien que je ne l'ai jamais été en mesure de même obtenez une décharge d'objet, mais je l'ai remarqué que d'autres disent qu'ils voient quelque chose le long de ces lignes (même avec _CRTDBG_MAP_ALLOC défini):
Detected memory leaks!
Dumping objects ->
{18} normal block at 0x00780E80, 64 bytes long.
Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
Object dump complete.
Je ne veux pas vraiment de passer du temps remplaçant les nouveaux opérateurs et supprimer, donc j'espérais que le débogage CRT m'aiderait. Si cela ne fonctionne pas, je pourrais finir par remplacer les nouveaux opérateurs et supprimer, mais je veux vraiment obtenir les informations d'allocation avec un nom de fichier et un numéro de ligne (croise les doigts).
Merci, Kiril
OK, je vais essayer, merci pour l'info :). – Kiril
Avez-vous eu la réponse Lirik. Pouvez-vous s'il vous plaît partager avec nous! – pankajt