Visual Studio-Speicherleckerkennung, bei der Dateiname und Zeilennummer nicht gedruckt werden

8

Ich möchte mein Programm auf Speicherlecks überprüfen und dieses Microsoft finden Artikel .

Ich habe den Artikel aufmerksam verfolgt und hinzugefügt

%Vor%

und

%Vor%

wenn das Programm beendet wird.

Es werden alle Speicherleckinformationen in meinem Ausgabefenster ordnungsgemäß ausgegeben, aber hier ist das Problem:

Es werden der Dateiname und die Zeilennummer nicht gedruckt, wenn Speicherlecks vorhanden sind!

In dem Artikel steht, dass mit #define _CRTDBG_MAP_ALLOC der Dateiname und die Zeilennummer ausgedruckt werden, aber nicht für mich.

Meine Ausgabe sieht so aus

%Vor%

So kann ich nicht wirklich damit arbeiten ... auch das Drücken von F4, um zur Zeile zu gehen, funktioniert nicht.

Könnten Sie mir bitte helfen?

    
A. D. 03.06.2015, 11:54
quelle

3 Antworten

1

Sie #define ist falsch. Um das Format von

zu erhalten %Vor%

Sie müssen Folgendes verwenden:

%Vor%

Sie müssen auch _DEBUG einschließen, da _CRTDBG_MAP_ALLOC nur mit _DEBUG definiert ist ( Quelle ). Auch von dieser Antwort stellen Sie sicher, dass #define in der CPP-Datei, die Sie überprüfen möchten.

    
NathanOliver 03.06.2015 12:01
quelle
0

Sieht so aus, als ob im Dokumentationsbeispiel VS2013 oben ein Tippfehler enthalten ist. Es sollte sein:

%Vor%

Beachten Sie den führenden Unterstrich. Das VS2005 / 2008-Dokument verwendet _CRTDBG_MAP_ALLOC und das VS2013-Dokument verweist später auf _CRTDBG_MAP_ALLOC .

Ein paar andere Dinge können Sie überprüfen:

  • Stellen Sie sicher, dass Sie sich im Debug-Build befinden
  • Bereinigen Sie Ihre Anwendung / erstellen Sie sie neu
  • Wenn Sie einen vorkompilierten Header verwenden, stellen Sie sicher, dass Sie die _CRTDBG_MAP_ALLOC -Definition zu stdafx.h hinzufügen.
uesp 03.06.2015 11:59
quelle
0

Ich hoffe, das hilft, wenn Sie @ A.D nicht herausgefunden haben, funktioniert für Win32-Anwendungen, wir müssen den neuen Operator überschreiben. Leider funktioniert es nicht für MFC - Anwendungen.: (

%Vor%     
Vmanani 27.07.2016 12:26
quelle