2010-12-01 3 views
19

Undichte GDI-Objekte können vom Task-Manager oder von Process Explorer aus gesehen werden. (Nun, Sie sehen nicht die Lecks, aber Sie können sehen, ob Objekt uasage ständig steigt zählen.)Ist es möglich, GDI-Lecks aus dem Visual Studio-Debugger zu erkennen?

Es gibt auch Tools, die GDI-Objekte anzeigen können nach Typ, wie GDIView [a], DeLeaker, DPUS oder die GDIDebug (sourecode).

[a] Beachten Sie, dass ich GDIView ein großartiges Tool zur Erledigung der Aufgabe der Identifizierung und Bestätigung der Existenz GDI Leckagen, aber es hilft Ihnen wirklich nicht, den leckenden Code in großen Anwendungen zu finden. (Ich werde auch hier beachten Sie, dass das Werkzeug sehr gut funktioniert und gut benommen zu sein scheint, obwohl seine Homepage ist ein littlebit seltsam (-.)

Es gibt auch ein WinDBG Plugin leaktrap genannt, die verwendet MSs Detours Library

I . weiß auch (und verwendet) AQTime ‚s Ressource Profiler, die GDI zu erkennen erlaubt (und andere) Ressourcenlecks in einer Anwendung einschließlich Stack-Traces für die undichten Anrufe

Nun aber meine eigentliche Frage ist: ist es möglich, um aus dem VC++ - Debugger auslaufende GDI-Objekte zu erkennen? Damit man kein separa benötigt Das Werkzeug und die GDI-Lecks können während des normalen Debuggens abgefangen werden und müssen nicht separat überprüft werden.

+1

wenn ich +2 diese Frage hätte ich. Zusätzlich zu einer guten Frage, bieten Sie tonnenweise tolle Informationen. – tenfour

Antwort

6

GDI-Objekte müssen nicht einzeln überprüft werden (notreally), sie können bei Deleaker verantwortlich sein - und Sie wissen, wo das Leck ist. Lesen Sie die Anweisungen sorgfältig und sehen Sie sich ein Demo-Video an: http://deleaker.com/

+0

Warum würden Sie sagen, dass "sie nicht einzeln überprüft werden müssen"? Wenn eine App GDI-Objekte nicht richtig freigibt, würde ich natürlich herausfinden wollen, welcher Code undicht ist ...? !! –

+1

Great Debugger Ich benutze es auch)) –

+0

+5 genehmigen .... arbeiten gut, Kosten billig. – MastAvalons

3

Intel Parallel Inspector ist ein Speicherlecksucher, der in Visual Studio integriert ist und GDI-Lecks erkennen kann.

+0

Hmmm ... erweitert dies den vorhandenen Visual Studio Debugger oder ist es ein separates Tool, das "nur" in Visual Studio integriert ist? (wie AQTime tut) –

+0

Ein Speicherleck-Checker und ein Debugger sind zwei verschiedene Dinge ... und ja, es ist "nur" in Visual Studio integriert. – ronag

0

Visual Studio verfügt über keinen integrierten Speicherprofiler für nicht verwaltete Anwendungen.

Das ist bestätigt.

+0

Die Frage bezieht sich auf GDI-Ressourcen, nicht auf Speicher. (Und VC++ verfügt über integrierte Tools zum Verfolgen von Speicherverlusten im _native_Code.) –

Verwandte Themen