Weiß jemand, wo ich ein Speicher-Lecksuche-Tool für C++ finden kann, die entweder in einer Befehlszeile oder als ein Eclipse-Plug-in in Windows und Linux ausgeführt werden kann. Ich möchte, dass es einfach zu bedienen ist. Vorzugsweise eine, die new(), delete(), malloc() oder free() nicht überschreibt. Etwas wie GDB, wenn es in der Befehlszeile sein wird, aber ich erinnere mich nicht daran, dass es zum Erkennen von Speicherlecks verwendet wird. Wenn es ein Unit-Test-Framework gibt, das das automatisch macht, wäre das großartig.G ++ Multi-Plattform-Speicher-Lecksuche-Tool
Diese Frage ist ähnlich wie bei anderen Fragen (wie Memory leak detection under Windows for GNU C/C++), aber ich denke, es ist anders, weil diejenigen fragen für Windows spezifische Lösungen oder Lösungen haben, die ich lieber vermeiden würde. Ich denke, ich suche hier nach etwas Bestimmterem. Vorschläge müssen nicht alle Anforderungen erfüllen, aber so viele wie möglich wären nett.
Danke.
EDIT: Da dies mit "überschreiben" gemeint ist, meine ich alles, was erfordert, dass ich eine Bibliothek einschließe oder was anderswie ändert, wie C++ meinen Code kompiliert, wenn es dies zur Laufzeit tut, damit der Code ausgeführt wird Eine andere Umgebung beeinflusst nichts, was großartig wäre. Außerdem habe ich leider keinen Mac, also sind irgendwelche Vorschläge dafür nicht hilfreich, aber danke, dass du es versuchst. Mein Desktop läuft Windows (Ich habe Linux installiert, aber meine Dual-Monitore arbeiten nicht damit) und ich würde lieber nicht Linux in einer VM ausführen, obwohl das sicherlich eine Option ist. Mein Laptop läuft unter Linux, daher kann ich das Tool dort verwenden, obwohl ich es vorziehen würde, auf meinem Desktop zu bleiben, da der Platz auf dem Bildschirm hervorragend dafür geeignet ist, alle Designdokumentationen und Anforderungen im Blick zu behalten, ohne sich auf dem Desktop bewegen zu müssen .
HINWEIS: Während ich Antworten versuchen kann, werde ich nicht eins als akzeptiert markieren, bis ich den Vorschlag ausprobiert habe und es ist zufriedenstellend.
EDIT2: Ich mache mir keine Sorgen über die plattformübergreifende Kompatibilität meines Codes, es ist eine Befehlszeilenanwendung, die nur die C++ - Bibliotheken verwendet.
Sie meinen, die Windows-App auf * nix mit Wine als API-Implementierung neu zu kompilieren? (Ich bin nur neugierig) – olliej
Valgrind funktioniert für x86_64 sowie PowerPC, MIPS, ARM und andere Architekturen. – LiraNuna
Nein, ich meine das Ausführen Ihrer Windows-Binärdatei, unmodifiziert, auf Linux unter dem Wein selbst unter valgrind. Deshalb habe ich nur 32 Bits erwähnt: Valgrind kann keine Anwendungen unter Wein mit 64 Bit Unterstützung ausführen, und Wein mit 64 Bit Unterstützung ist experimentell (um 64 Bit, ich meine 64 Bit Windows Apps) –