Căutați memorie scurgeri în VisualStudio

Depanarea scurgere de memorie în Visual Studio.

Pentru a găsi pierderi de memorie în programul dvs., utilizând următoarea metodă:

Primul lucru pe care ar trebui să faci:

Fișierul antet care este inclus cu toate celelalte fișiere (de ex „stdafx.h“), la începutul necesității de a pune următoarele linii:

Prin urmare, înlocuiți malloc funcția și liber și alte free_dbg malloc_dbg, care va efectua testul.
Apoi, în funcție, în cazul în care programul de lucru (WinMain ()) începe la începutul adăugării următoarele:

Cu această caracteristică, după revenirea sistemului de control al programului, toate pierderi de memorie vor fi imprimate în fereastra de ieșire, după cum urmează:

În acolade se arată numărul de alocare de memorie care nu a fost eliminat.

Puteți merge la un loc în codul de alocare de memorie în cazul în care a trecut prin dublu-clic pe linia
C: \ PROGRAM FILES \ STUDIO VIZUALA \ MyProjects \ leaktest \ leaktest.cpp (20).
, dar, de obicei, nu este de mare ajutor.

Puteți schimba, de asemenea, locul unde sunt informații despre scurgeri folosind funcția _CrtSetReportMode (a se vedea. MSDN)

Acum trecem la a doua parte - a scăpa de scurgeri de informații:
La începutul funcției, în cazul în care activitatea programului începe să adauge:

apoi începe modul Debug.

La momentul eliberării se va lua de pe fereastra, cu o eroare ( „breakpoint utilizator“).

Trebuie să apăsați butonul pauză și pentru a muta în sus în fereastra Call Stack pentru funcția care a cauzat eliberarea de memorie unremoved.