Ich bin derzeit auf der Suche nach einem guten Speicher / Lecksuche-Tool für Windows. Vor ein paar Jahren habe ich Numegas Boundschecker benutzt, was sehr gut war. Genau jetzt scheint es gewesen zu sein an Compuware verkauft, das es anscheinend wieder an eine andere Firma verkauft hat.
Der Versuch, eine Demo der aktuellen Version zu bewerten, war bisher sehr frustrierend, in der besten "Enterprisy" -Tradition:
(a) keine beworbenen Preise auf ihrer Website (große rote Warnblinklichter);
(b) Kontaktformular für die Anzahl der Mitarbeiter und andere private Informationen gefragt;
(c) keine Antwort auf meine E-Mails, die um eine Bewertung und Preis bitten.
Ich musste feststellen, dass BoundsChecker jetzt eines dieser "Produkte" ist. Weißt du, der Typ, bei dem du unschuldig anrufst und morgen 3 Männer in schwarzen Anzügen auftauchen Gebäude, die mit Ihnen über "Partnerschaften" sprechen wollen und nicht so heimlich die Größe Ihres Unternehmens einschätzen und daher wissen, wie viel sie davon haben können, Sie zu belasten.
SO, beiseite, kann jemand empfehlen eine ausgezeichnete Speicherprüfung / Leckerkennung Werkzeug, wie viel es kostet, und Vorschläge für wo zu kaufen?
Vorsicht vor Compuwares Grenzen Checker: Es ist bis zu einem gewissen Grad stabil. Es kostet ungefähr 3600 Dollar und ungefähr die gleiche Menge, um von Jahr zu Jahr aufrechtzuerhalten. Aber das sind Peanuts im Vergleich zu Coverity. Ich habe in den letzten 3 Jahren keinen guten Testlauf unter Bounds Checker gemacht. Deshalb benutze ich es nicht mehr und warum empfehle ich es nicht, es zu benutzen, außer bei kleinen, kleinen Projekten. Bei großen Unternehmensanwendungen ist es einfach zu langsam, benötigt zu viel Speicherplatz und hört einfach auf zu arbeiten. Ich meine wirklich, wollen Sie, dass Ihre Anwendung 5 Minuten dauert? Möchten Sie, dass Ihre Testdurchführung 3 Mal länger dauert? Das Schlimmste ist, dass es die Tendenz ist, einfach abzuschließen. Der Kundendienst von Compuware war ziemlich begrenzt. Aber Bounds Checker wurde an eine andere Firma verkauft (ich kann mich nicht mehr an ihren Namen erinnern), deren Website so antiseptisch, sterilisiert und trocken ist, dass sie Websites von Finanzunternehmen unterhaltsam erscheinen lässt. Aber das Mörderproblem mit BoundsChecker ist, dass es nur 32 Bit ist. Wenn Sie also eine große Anwendung profilieren müssen, die viel Speicher benötigt (mehr als 1 Gig), haben Sie einfach kein Glück. Bounds Checker wird 2 bis 3 Gigs Speicher von Ihrer App auffressen. Und mit 32-Bit-Apps wissen Sie, dass 4 Gigs die Spitze sind, die Sie bekommen.
Coverity ist großartig, wenn Sie eine Person beauftragen, um es zu babysitten. Ernsthaft kostet Coverity mehr als mein Haus. Das ist nicht die Person zu erwähnen, die meine Firma zu mieten hätte, um das Ding zu babysitten. Es dauert 24 Stunden, um es magisch zu machen. Und es macht nicht viel mehr Zauberei, als einfach Code mit Warnstufe 4 zu kompilieren und 'Code Analysis' (im Visual Studio) zu aktivieren.
Ich habe andere Speicherverlust-Tools (für nativen Code) ausprobiert. Sie alle saugen große Zeit, sind zu kompliziert, oder einfach nur alt, das System zu sperren. Ich bin so angewidert mit dem gesamten Bereich der Speicherprofiler, dass ich einfach nur die Debug-CRT verwenden möchte. Das oder schreibe einfach mein eigenes.
Wie für Code-Coverage-Tools, gewinnt Bullseye Hands-down. Warum kann ein Speicherleckdetektor nicht so solide arbeiten wie Bullseye?
Sie können Speichervalidator ausprobieren. Sie können die Auswertungsversion des gleichen auch versuchen.
Microsoft Application Verifier Werkzeug ist sehr gut zum Aufspüren von Lecks sowie einer Reihe weiterer gängiger Programmierfehler unter Windows (COM, Heaps, TLS, Locks usw.).
Es macht nicht so viel in der Art von Profiling, aber es wird Ihnen den Stapel geben, wo der Speicher zugewiesen wurde, wenn Sie ihn auslecken, oder den Stapel, wo er das erste Mal frei war, wenn Sie doppelt frei haben usw.
Ich war ziemlich glücklich mit AQTime , und die Preise sind schwer zu übertreffen (und sehr transparent - 599 $ / Benutzer).
Der Allokationsprofiler funktioniert ziemlich gut - er ist nicht ganz so ausgefeilt wie Boundschecker (von dem, was ich an Boundschecker erinnere), aber was er tut, tut es gut - und er behandelt auch einige andere Dinge.
Dieser Thread ist nicht mehr aktuell. Es ist wahr, dass wir Micro Focus nicht davon überzeugen konnten, Preise auf ihrer Hauptwebsite zu veröffentlichen, aber Sie können Preise für ComponentSource erhalten, und wir versenden keine Agenten in dunklen Farben und Farben. 8- / Preis abhängig ob Sie nach einer Lizenz für einen einzelnen Benutzer oder mehrere Benutzer fragen und ob Sie nur BoundsChecker oder DevPartner Studio möchten. Einzelheiten finden Sie unter ComponentSource-Auflistung .
Jedenfalls haben wir nicht aufgehört, an dem Produkt zu arbeiten. Am 4. Februar haben wir die Version 10.5 veröffentlicht, die (endlich) 64-Bit-Anwendungen (AMD64, Intel64, nicht Itanium) unter Vista und Windows 7 unterstützt. Etliche alte Bugs wurden auf dem Weg behoben. Das nächste Update enthält Unterstützung für XP64 und Windows 7 SP1 sowie Visual Studio 2010 SP1.
Tags und Links memory-leaks profiling debugging bounds-checker