Visual Leak Detector funktioniert nicht
Ich habe gerade angefangen mit Visual-Leck-Detektor für Visual C++ 2008/2010
Wenn ich es auf die kleinen app (nur wenige Zeile mit dem nicht gelöschte Zuordnungen) funktioniert es Prima.
Nun möchte ich laufen, es in mein größeres app (wxWidgets-app, 2 threads), aber wenn ich
#include <vld.h>
meine app nicht komplett starten. Es beginnt Radfahren, wenn die Gui erstellt wird. Somethimes app vollständig geladen ist, aber wieder stecken, wenn ich zum Beispiel durch einen Taster...
Wenn ich drücken Sie pause-Taste, um zu sehen, welche code verarbeitet wird, sehe ich nur
Ist jemand zu führen, die in ähnliches problem?
Gibt es eine Möglichkeit, damit es funktioniert?
- Haben Sie versucht, es zu testen, auf ein einfacher 2-thread-Programm? Vielleicht hat es multi-threading Probleme. Auch, wenn Ihr Programm ist Ressourcen-hungrig, im Hinterkopf behalten, dass die leckanzeiger sind in der Regel ein großes performance-hit. Sie könnte nur sein, erleben große Langsamkeit (oder vielleicht auch nicht).
- Bohrer: ich habe nicht versucht, einfachere 2threaded Programm, aber ich... Es ist nicht nur langsam beginnen, weil einige andere "glücklichen" Zeit startet er in wenigen Sekunden.
- Der call-stack enthält nvoglv32.dll. Sind Sie sicher, dass Sie sich nicht mit dem richtigen thread? NVidia-Treiber starten einige mehr threads, die Darstellung in einer OpenGL-Anwendung.
- Sie können die Verwendung deleaker oder ähnliches Werkzeug zur Erkennung von Speicher-Leck...schnell und einfach
- danke John, ich werde einen Blick drauf werfen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Visual Leak Detector macht die App läuft SEHR langsam, geduldig zu sein.
Sind Sie mit einer einzigen binären Datei?
Ich ' V hatte Probleme bei meinem Programm war aufgeteilt in das Hauptprogramm und Bibliotheken geladen auf der Flucht.
Die Lösung Bestand darin, die #include-überall, vor allem die ausführbare Datei.
Beachten Sie, dass Sie verwenden können, VLDDisable und VLDEnable wenn Sie wollen, um bestimmte Teile des Codes, beachten Sie, dass diese arbeiten pro thread. Deaktivieren Sie in einem thread nicht ändern, was in anderen.
Dies ist nicht genau eine Antwort auf diese spezifische Frage, aber es fixiert mein problem und ich dokumentieren wollte es irgendwo jemand anderes in der Lage sein kann zu finden, ist es hilfreich zu Ihnen.
Ich war die Verknüpfung von einem Programm mit vld und bekam
Habe ich ein dumpbin der vld.lib und bemerkt, dass es einen externen namens
bemerken, dass das "g_"
So geändert, meine vld.h aus
und dann ist es verbunden und hat Prima funktioniert.
wieder, hoffentlich wird google in der Lage sein zu finden diese Antwort für Leute mit vld Verlinkung Probleme.