Ich suchte nach Valgrind, um mein C-Codieren/Debuggen zu verbessern, als ich entdeckte, dass es nur für Linux ist – ich habe kein anderes Bedürfnis oder Interesse daran, mein Betriebssystem auf Linux zu verschieben, also habe ich mich gefragt, ob es ein ebenso gutes Programm für Windows gibt.
Gibt es einen guten Valgrind-Ersatz für Windows?
Erpel
Warum nicht Valgrind + Wine zum Debuggen Ihrer Windows-App verwenden? Sehen
http://wiki.winehq.org/Wine_and_Valgrind
(Chromium verwendet dies, um die Windows-Version auf Speicherfehler zu überprüfen; siehe build.chromium.org und sehen Sie sich die experimentellen oder Speicherwasserfälle an und suchen Sie nach Wein.)
Es gibt auch Dr. Memory, siehe dynamorio.org/drmemory.html
-
Denn dann würden Sie keine Windows-App debuggen, sondern eine Linux-App.
– Johannes Dibling
4. Februar 2010 um 21:15 Uhr
-
Keine Notwendigkeit, in Wine neu zu kompilieren. Übertragen Sie einfach Ihre .exe und .pdb auf eine Linux-Box. Und Sie würden keine Linux-App debuggen; Sie debuggen Ihre genaue Windows-App.
– Dan Kegel
14. Februar 2010 um 3:42 Uhr
-
Purify: ehrwürdig, aber immer noch nützlich, wie die vielen Eigentümerwechsel zeigen, die es überlebt hat!
– Norman Ramsey
5. Januar 2009 um 17:48 Uhr
-
Insure++ braucht ewig, um Ihren Code zu instrumentieren, und ewig, um Ihren Code zur Laufzeit auszuführen.
– CJohnson
9. August 2010 um 15:12 Uhr
tgs_stdio
Versuchen Sie es für Visual C++ Visueller Lecksucher. Als ich es benutzte, entdeckte es ein Speicherleck von a new
aufrufen und die tatsächliche Zeile im Quellcode des Lecks zurückgeben. Die neueste Version finden Sie unter http://vld.codeplex.com/.
-
Es scheint bei mir nicht zu funktionieren. Ich habe sogar versucht, ein einfaches Projekt zu erstellen, das im Grunde nichts anderes tat, als etwas Speicher zuzuweisen und ihn nicht freizugeben. VLD hat es nicht erkannt. 😐
– Synetech
25. August 2010 um 0:18 Uhr
-
@Synetech inc. Ich hatte das gleiche Problem in VS2010 … Die Verwendung der neuesten Version von VLD löste mein Problem
– relaxxx
7. April 2011 um 16:46 Uhr
dmitjugow
Die von Ihnen verwendete Entwicklungsumgebung für Windows kann eigene Tools enthalten. Mit Visual Studio können Sie beispielsweise Speicherlecks erkennen und isolieren in Ihren Programmen
-
Es scheint bei mir nicht zu funktionieren. Ich habe sogar versucht, ein einfaches Projekt zu erstellen, das im Grunde nichts anderes tat, als etwas Speicher zuzuweisen und ihn nicht freizugeben. VLD hat es nicht erkannt. 😐
– Synetech
25. August 2010 um 0:18 Uhr
-
@Synetech inc. Ich hatte das gleiche Problem in VS2010 … Die Verwendung der neuesten Version von VLD löste mein Problem
– relaxxx
7. April 2011 um 16:46 Uhr
Satbir
Ich möchte ein Tool auflisten, hoffe, dass es nützlich sein wird
lesen Sie dies Artikel für mehr Details
- Reinigen
- Grenzen-Checker
- Coverity (im Grunde ist es ein Code-Analysator, aber es wird Speicherlecks in Statik auffangen)
- Glühcode
- dmalloc
- ccmalloc
- NJAMD
- JAMD
- Valgrind
- Patrouille
- Versichern++
Welche Art von Debugging möchten Sie durchführen? Valgrind ist ein ziemlich umfangreiches Toolset, und die folgenden Antworten weisen in alle möglichen Richtungen. Mit Schwerpunkt auf dem Debuggen von Speicherlecks/Zuweisungen.
– jakobengblom2
28. August 2009 um 8:43 Uhr
Vielleicht können Sie den Code auf einer virtuellen Linux-Maschine in Ihrem Windows testen, genau dann, wenn Sie ihn überprüfen müssen. Sie können den Entwicklungsordner für die virtuelle und die nicht virtuelle Maschine freigeben. das heißt, wenn der Code portabel genug ist.
– Liran Orevi
1. Oktober 2009 um 9:27 Uhr