Rational Purify nu reușesc să sară la scurgeri de memorie

Deci, compania mea utilizează un program încântător de buggy numit Rational Purify (ca un plugin pentru Microsoft Visual Developer Studio) pentru a gestiona scurgeri de memorie. Programul este demis pentru a vă permite să faceți clic pe o scurgere de memorie după ce ați întâlnit-o, și apoi săriți la linia pe care are loc scurgerea.

Din păcate, Purify nu funcționează corect și Purify nu va sari în locul în care a apărut scurgerea, ci doar menționează clasa și metoda pe care are loc scurgerea. Din nefericire, uneori acest lucru este la fel de util ca și angajarea unui ghid pentru a vă ajuta să vânați urșii și să-i dați la pădure și vă spun că sunt urși acolo.

Are cineva cu experiență Purify vreo idee cum aș putea rezolva această problemă sau dacă am un manual bun pentru a arăta?

0
fr hi bn

4 răspunsuri

Sunteți sigur că ați creat depanare? Sau mai degrabă aveți toate PDB-urile activate? Încercați WindDbg pe executabilul dvs. și verificați cu comanda! Lmi ceea ce este vizibil.

Este codul întreg instruit corespunzător?

Luați în considerare și altceva, cum ar fi free Visual Leak Detector sau instrumentul Microsoft LeakDiag.

0
adăugat

Purify vine cu un script numit ScanVSSolutionForPurifyPlus.pl, care vă va asigura că fișierele de proiect au toate setările potrivite pentru ca Purify să funcționeze corect. Dacă nu l-ați rulați, dați-i drumul.

(Am folosit personal ScanVSSolutionForPurifyPlus.pl pe o soluție mare și a funcționat ca un farmec.) Un avertisment: când îi dați numele fișierului .sln , este posibil să aveți nevoie să îl dați calea completă.)

0
adăugat

Am folosit Purify acum 5 ani. A fost foarte ciudat atunci. Ei au promis că vor repara toate bug-urile din "următoarea versiune". Am renunțat la asta în cele din urmă. Nu ne putem întreba decât dacă și-au folosit propriile instrumente QA pe produsele lor. Oh ironia ...

0
adăugat

În general, aveți două opțiuni, una exclude modulele DLL de la instrumentație în Purify, aceasta ajută uneori. În al doilea rând este să obțineți BoundsChecker, aceasta nu compilează instrumente de timp mult mai lent, dar nivelul de detaliu este un ordin de mărime mai bună.

În general, folosim Purify la check-in, verificarea sanatatii si BoundsChecker atunci cand stim ca exista un bug / crash.

BoundsChecker has some nice features like only instrument files A.cpp & B.cpp, excluding all the rest.

Fii conștient că nici una dintre aceste două aplicații nu funcționează pe sisteme de operare pe 64 de biți, iar BoundsChecker nu se va instala pe 64 de biți OS. Cel mai frustrant dacă faceți comutarea la dezvoltarea nativă de 64 de biți cu un port de 32 biți înapoi!

0
adăugat