AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Werkzeuge MadExcept vorteile gegenüber FastMM4 bezogen auf Speicherleaks
Thema durchsuchen
Ansicht
Themen-Optionen

MadExcept vorteile gegenüber FastMM4 bezogen auf Speicherleaks

Ein Thema von ngott2 · begonnen am 29. Aug 2018 · letzter Beitrag vom 5. Sep 2018
Antwort Antwort
ngott2

Registriert seit: 26. Aug 2013
81 Beiträge
 
Delphi 10 Seattle Professional
 
#1

MadExcept vorteile gegenüber FastMM4 bezogen auf Speicherleaks

  Alt 29. Aug 2018, 15:54
Hallo,
gibt es neben den Vorteil, das man bei MadExcept direkt zur Zeile springen kann weitere Vorteile, die für Madexcept sprechen? Oder gibt es sogar Nachteile? Wichtig nur Vorteile, die auf das finden und fixen von Speicher Leaks bezogen sind. Gerne auch eventuelle Nachteile.

Danke und Gruß.
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: MadExcept vorteile gegenüber FastMM4 bezogen auf Speicherleaks

  Alt 29. Aug 2018, 20:50
Die beiden verfolgen ja eigentlich unterschiedliche Konzepte. FastMM4 ist darauf ausgelegt, bei der Entwicklung zu helfen. MadExcept dagegen konzentriert sich darauf, Fehler in "freier Wildbahn" zu sammeln und Reports zum Mutterschiff zu senden. FastMM4 habe ich schon zu Delphi-7-Zeiten verwendet. Seit der standardmäßig bei Delphi mitgeliefert wird ist vieles besser geworden bei der Suche nach Speicherlecks. Auch wenn das was mitgeliefert wird kein vollständiger FastMM4 ist. Aber kann man ja leicht austauschen (wenn nur alles so einfach wäre ^^)

Wobei ich nicht sicher bin, ob MadExcept überhaupt in die Kategorie Speichermanager fällt, denn so etwas wie den Shared Memory zwischen Anwendung und DLLs (z.B. die Verwendung von Delphi-Strings statt PChars) kann MadExcept IMHO nicht.

Also würde ich eher die Frage stellen, ob man nicht beides in einem Projekt verwenden sollte. FastMM4 im Debugmodus auf der Entwicklungsmaschine, MadExcept im Release-Modus auf der Kundenseite.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
441 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: MadExcept vorteile gegenüber FastMM4 bezogen auf Speicherleaks

  Alt 30. Aug 2018, 07:51
Also würde ich eher die Frage stellen, ob man nicht beides in einem Projekt verwenden sollte. FastMM4 im Debugmodus auf der Entwicklungsmaschine, MadExcept im Release-Modus auf der Kundenseite.
Genau so macht das Sinn
Whookie

Software isn't released ... it is allowed to escape!
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.114 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: MadExcept vorteile gegenüber FastMM4 bezogen auf Speicherleaks

  Alt 30. Aug 2018, 08:00
Also mir wäre da spontan etwas unwohl - Wer garantiert mir dass die sich unter jeden Umständen gleich erhalten? Und wenn sie es täten - Warum sollte ich dann überhaupt zwei unterschiede Speichermanager einsetzen?
  Mit Zitat antworten Zitat
API

Registriert seit: 18. Apr 2004
637 Beiträge
 
#5

AW: MadExcept vorteile gegenüber FastMM4 bezogen auf Speicherleaks

  Alt 30. Aug 2018, 08:04
Also mir wäre da spontan etwas unwohl - Wer garantiert mir dass die sich unter jeden Umständen gleich erhalten? Und wenn sie es täten - Warum sollte ich dann überhaupt zwei unterschiede Speichermanager einsetzen?
Ich denke die Frage sollte im http://forum.madshi.net/ Forum gestellt werden. madshi (also der Entwickler) ist da der Experte. Zudem ist MadExcept primär für den Enduser gedacht. Also um Bug-Reports dem Entwickler der Software zu übermitteln.
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: MadExcept vorteile gegenüber FastMM4 bezogen auf Speicherleaks

  Alt 30. Aug 2018, 08:34
Also mir wäre da spontan etwas unwohl - Wer garantiert mir dass die sich unter jeden Umständen gleich erhalten? Und wenn sie es täten - Warum sollte ich dann überhaupt zwei unterschiede Speichermanager einsetzen?
FastMM ist eine Speichermanager (letztlich der der standardmäßig von Delphi genutzt wird, wenn auch in abgespekter Form).

MadExcept ist ein Bibleothek/Komponente die Fehler/Exceptions behandelt, und dem (End)User die Möglichkeit bietet, das ganze dem Entwickler zu schicken (incl. einiger Systeminformationen u.a. auch Speicherinfos.)

Das sind also zwei vollkommen unterschiedliche paar Schuhe.

Da MadExcept (soweit ich weiß) mit Delphi entwickelt wird, sollte das ganze homogen abgehen.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.386 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: MadExcept vorteile gegenüber FastMM4 bezogen auf Speicherleaks

  Alt 4. Sep 2018, 17:23
Hallo,
gibt es neben den Vorteil, das man bei MadExcept direkt zur Zeile springen kann weitere Vorteile, die für Madexcept sprechen? Oder gibt es sogar Nachteile? Wichtig nur Vorteile, die auf das finden und fixen von Speicher Leaks bezogen sind. Gerne auch eventuelle Nachteile.

Danke und Gruß.
Auch wenn meine Vorredner überwiegend richtiges schreiben halte ich die Schlussfolgerung für falsch, dass madexcept für die Suche nach Memory Leaks nicht so gut ist.
Ich halte madExcpt für das Finden von Memory-Leaks für wesentlich besser. Der Punkt ist der, dass ich bei dem für jedes Leak einen kompletten Stacktrace der Erzeugung bekomme. Das ist extrem wichtig wenn eine Klasse oder String leakt die an meheren Stellen im Programm erzeugt werden. Bei FastMM bekommt man nur die Info was und wie oft leakt, nicht aber wo. Da nehme ich die Langsamkeit bei der Analyse gerne in kauf.
Andererseits ist die Frage überflüssig, denn madExcept ist auch aus anderen Gründen einfach unverzichtbar. Und da man es schon hat, kann man es auch einfach mal ausprobieren.
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: MadExcept vorteile gegenüber FastMM4 bezogen auf Speicherleaks

  Alt 5. Sep 2018, 05:17
Öhm...also...den Stack bekomm ich auch bei FastMM4

Auszug:
Code:
A memory block has been leaked. The size is: 36

This block was allocated by thread 0x3230, and the stack trace (return addresses) at the time was:
4070DE [System][@GetMem$qqri]
40AB9F [System][@NewUnicodeString$qqri]
40BBEF [System][@UStrSetLength$qqrr20System.UnicodeStringi]
4103B7 [System][UTF8ToUnicodeString$qqrrx29System.%SmallString$uc$i255$%]
4FEE7E [Vcl.Graphics][Graphics.TFont.GetName]
6B42CE [VTEditors.Core.pas][VTEditors.Core][Core.TFontData.FromFont][255]
6D9646 [VTEditors.VTDialogs.pas][VTEditors.VTDialogs][Vtdialogs.TVTFontDialog.AfterCall][315]
6D92DF [VTEditors.VTDialogs.pas][VTEditors.VTDialogs][Vtdialogs.TVTDialogExtendedBase.Call][240]
6C9F6C [VTEditors.DialogsManager.pas][VTEditors.DialogsManager][Dialogsmanager.DialogManager.CallDialogEx][132]
6E08A8 [VTEditors.ButtonControl.pas][VTEditors.ButtonControl][Buttoncontrol.TVTButton.InternalClickHandler][232]
5246D5 [Vcl.Controls][Controls.TControl.Click]

The block is currently used for an object of class: UnicodeString
Aber wie meine Vorredner schon gesagt haben, bietet MadExcept noch einiges mehr, neben den Memoryleaks. Am besten beides einsetzen und gut.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: MadExcept vorteile gegenüber FastMM4 bezogen auf Speicherleaks

  Alt 5. Sep 2018, 07:17
Ich denke zusammenfassend kann man sagen, dass es sehr wohl funktionelle Überschneidungen gibt. Die Unterschiede liegen dann in der konzeptionellen Ausrichtung. FastMM4 entstand ja mit dem Ziel, den (damals) suboptimalen Speichermanager von Delphiprogrammen zu ersetzen. Das ist auch so gut gelungen, dass er sogar offiziell von (damals glaub ich noch) Inprise ersetzt wurde. MadExcept geht es mehr um das Abfangen von Exceptions u.ä. ohne dass ein Debugger hinten dran hängt, also in freier Wildbahn.
Öhm...also...den Stack bekomm ich auch bei FastMM4
Ja bei FastMM4, IMHO aber nicht bei seinem kleinen Bruder FastMM der bei Delphi mitgeliefert wird.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz