Bir Win32 uygulamasında bellek sızıntılarını bulmaya çalışmak için instructions found here kullanıyorum. açıklandığı gibi, ben bir dosyaya (WINAPI _tWinMain içeren cpp dosyası) üstündekiVisual Studio 2008 (C++) bellek sızıntısı algılama dosya/yöntem konumunu göstermiyor - nasıl çalışır?
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
Çizgiler koymak ve sonra maalesef bilmiyorum ben
_CrtDumpMemoryLeaks();
eklendi WinMain çıkış noktasında sızıntıların satır numaralarını/yerlerini gör (fakat bir sızıntı listesi alırım).
Ben de WinMain başında_CrtSetDbgFlag (_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
_CrtSetReportMode (_CRT_ERROR, _CRTDBG_MODE_DEBUG);
koyarak çalıştı - ve yine, hiçbir şanslar. Bu tuhafı buluyorum çünkü genellikle sızıntı bulmakta hiçbir sorun yaşamadım ya da otomatik olarak rapor vermem gerekiyordu.
Bu, yeni bir işveren için üzerinde çalıştığım çok eski, eski bir uygulama. Geçmişte standart VS sihirbazından çalıştım.
Sızıntıya neden olan kaynak hatları/yöntemleri nasıl edineceğinize dair herhangi bir öneriniz var mı? Ben yeniden tanımlanmasını kullanarak çalıştı
hiçbir başarı ile
Çok garip
DÜZENLEME -
I also tried visual leak detector:?.. (Ya da en azından "yeni" için hatlar
DÜZENLEME çağırır Aşağıdaki gibi yeni listeleniyor, ancak destek derlendiğinde hata alıyorum.
Delici'yi deneyin. size yardım etmeli. –