Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi D2006 Pro, Leaks in Programmen finden (https://www.delphipraxis.net/78991-d2006-pro-leaks-programmen-finden.html)

Prototypjack 14. Okt 2006 10:46


D2006 Pro, Leaks in Programmen finden
 
Hallo und guten Morgen erstmal,
Zuerst will ich sagen, dass ich die Boardsuche bereits genutzt habe und doch finde ich nicht wirklich antworten auf meine Fragen.

Ich habe auf meiner Suche von 3 Tools gehört, dem FastMM, MemProof und MemCheck.
Letztere sind nach meinen Informationen outdatet, dazu aber später mehr.

Es scheint als könnte mir FastMM auch die Informationen liefern die ich brauche, sprich, Art des Memory Leaks, Größe und wo dieser verursacht wird (Am besten mit Zeilenangabe ;D). Jedoch schaffe ich es nicht FastMM diesen letzten Punkt beizubringen und da eine richtige Dokumentation praktisch nicht vorhanden ist, hilft mir das auch recht wenig :(

MemProof habe ich mir auch mal genauer angesehen. Jedoch ist das letzte Update von 2004, welche Auswirkungen hat das?
Ansonsten kann ich nur zu MemProof sagen, dass ich es ebenfalls nicht dazu bewegen konnte mir detailierte Informationen über den Auftrittsort zu nennen.

MemCheck habe ich selbst noch nicht getestet. Jedoch scheint das auch outdatet zu sein, was sein ansehen mir gegenüber doch erheblich mindert.


Naja, die Frage ist: Gibt es noch andere Tools? Oder, wie kann ich eines der genannten zu detailierten Informationen und stabilem Laufen unter Delphi 2006 bewegen. Was gibt es bei dieser langen Updatepause zu beachten, wo liegen Gefahrenquellen?

Ich hoffe ihr könnt mir helfen,
Gruß,
Max

bttb930 14. Okt 2006 10:53

Re: D2006 Pro, Leaks in Programmen finden
 
Versuch's mal mit AQTime von AutomatedQA. Was besseres gibt es in diesem Bereich nicht - und damit findest Du nicht nur Memory Leaks, sondern beispielsweise wird dir auch pro Code-Zeile angezeigt, wieviel Zeit das Programm darin verbringt. Damit findest Du dann sehr schnell Stellen an denen eine Optimierung sinnvoll ist.

Schau Dir bei AQTime am besten erstmal das Tutorial an - das zeigt schon wie man solche Grundprobleme löst. Ich glaube auf der Website gibt es auch ein Flash-Demo das auch schon viel zeigt und sehr gut ist.

Prototypjack 14. Okt 2006 10:55

Re: D2006 Pro, Leaks in Programmen finden
 
Moin!

Wenn ich das jetzt richtig im Kopf habe, stammt AQTime von der selben Firma wie auch MemProof und kostet an die 600 Dollar.
Sollte das zutreffen, sollte es für mich, der momentan nur an Opensource Projekten arbeitet, etwas happig sein.

Gruß,
Max

xaromz 14. Okt 2006 10:57

Re: D2006 Pro, Leaks in Programmen finden
 
Hallo,

MemProof ist IMHO die erste Wahl bei der Suche nach Leaks. Dass das Programm von 2004 ist, ist eigentlich egal.
MemCheck hab' ich noch nie ausprobiert.
FastMM kannst Du unter D2006 ganz einfach dazu bringen, Dir Leaks anzuzeigen:
Delphi-Quellcode:
ReportMemoryLeaksOnShutDown := DebugHook <> 0;
Allerdings zeigt der integrierte MM nur an, dass es Leaks gibt (und welcher Art), aber nicht wo. Außerdem kann er Ressourcen-Leaks nicht erkennen (ein MM hat damit ja auch nichts zu tun).

Gruß
xaromz

Bernhard Geyer 14. Okt 2006 21:12

Re: D2006 Pro, Leaks in Programmen finden
 
Zitat:

Zitat von xaromz
Allerdings zeigt der integrierte MM nur an, dass es Leaks gibt (und welcher Art), aber nicht wo.

Kann er sehr wohl (Außer man hätte dies im Gegensatz zur Version von Sourceforge "wegoptimiert". Einfach TD32-Debug-Infos verwenden und dann hat die Logdatei einen Schönen Aufrufstack welcher zum Fehler führt.

Zitat:

Zitat von xaromz
Außerdem kann er Ressourcen-Leaks nicht erkennen (ein MM hat damit ja auch nichts zu tun).

Dazu ist AQTime die erste Wahl. Liefert genau die Zeile wo die Resourcenlücken auftreten und man braucht nur Minuten.

Prototypjack 14. Okt 2006 22:37

Re: D2006 Pro, Leaks in Programmen finden
 
Ich hatte heute AQTime mal kurz als Trial auf dem Rechner, schon gewaltig, was das Ding drauf hat.
Jedoch ist mir der Preis, als momentaner OpenSource Coder, ein bischen zu happig.

Zu wirklich genauen Ergebnissen konnte ich weder Memproof(Das mir bei den Ergebnissen bei 1 von 6 Einträge irgendwelche Zeilen anzeigt, die dann auch noch relativ belanglos sind) noch FastMM(Der ausser 'ner Menge Text, die ich noch nicht näher ausgewertet habe, nichts ausspuckt) bewegen.

Noch eine Frage:
Kennt jemand irgendwelche (sehr günstige, -bis kostenlose) Profiler-Alternativen zu AQTime?
Momentan bin ich doch schwer beeindruckt von dem Programm ;)

Gruß,
Max

Bernhard Geyer 14. Okt 2006 23:06

Re: D2006 Pro, Leaks in Programmen finden
 
[quote="Prototypjack"]Ich hatte heute AQTime mal kurz als Trial auf dem Rechner, schon gewaltig, was das Ding drauf hat.
Jedoch ist mir der Preis, als momentaner OpenSource Coder, ein bischen zu happig.[/url]
Wenn man für SW-Entwicklung angestellt ist, ist das (fast) kein Problem. :mrgreen:

Zitat:

Zitat von Prototypjack
Zu wirklich genauen Ergebnissen konnte ich weder Memproof(Das mir bei den Ergebnissen bei 1 von 6 Einträge irgendwelche Zeilen anzeigt, die dann auch noch relativ belanglos sind) noch FastMM(Der ausser 'ner Menge Text, die ich noch nicht näher ausgewertet habe, nichts ausspuckt) bewegen.

Also ich bin fast immer ans ziel gekommen. Kannst Du mehr Infos zu deinem konkreten Problem liefern.

Zitat:

Zitat von Prototypjack
Kennt jemand irgendwelche (sehr günstige, -bis kostenlose) Profiler-Alternativen zu AQTime?
Momentan bin ich doch schwer beeindruckt von dem Programm ;)

Ich kenn nur noch ProDelphi


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz