AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Start und Stop jeder Methode Tracen an nur einer stelle Implementieren
Thema durchsuchen
Ansicht
Themen-Optionen

Start und Stop jeder Methode Tracen an nur einer stelle Implementieren

Ein Thema von gibb · begonnen am 23. Feb 2012 · letzter Beitrag vom 2. Mär 2012
Antwort Antwort
Seite 2 von 7     12 34     Letzte »    
schlecki

Registriert seit: 11. Apr 2005
Ort: Darmstadt
148 Beiträge
 
Delphi XE2 Enterprise
 
#11

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren

  Alt 23. Feb 2012, 16:23
Die VAriante mit dem Interface ist eigentlich genial.
Das darf ich mir doch mopsen?
dafür hab ichs gepostet
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#12

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren

  Alt 23. Feb 2012, 16:30
Die Verwendung ist dann so:

Delphi-Quellcode:
procedure TForm.ButtonClick(...)
begin
  TMeasure.MeasureThis('TForm.ButtonClick');
  Writeln('Muuh');
  Sleep(1000);
end;
Wenn man die Hilfsroutinen der JEDI zur verfügung hat könnte man sich den Text-Parameter bei "MeasureThis" sparen.
Einfach im Callstack den passenden Methodennamen rausholen und als Text ausgeben.
Dann könnte man mit einer einfachen Methode das komplett erschlagen

Delphi-Quellcode:
procedure StartMeasure: IAutoDestroy;
begin
  result := TMeasure.MeasureThis(_STACK...._);
end;
Verwendung:
Delphi-Quellcode:
procedure TForm.ButtonClick(...)
begin
  StartMeasure;
  Writeln('Muuh');
  Sleep(1000);
end;
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
gibb

Registriert seit: 12. Sep 2007
Ort: Bern
178 Beiträge
 
Delphi 2006 Architect
 
#13

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren

  Alt 23. Feb 2012, 17:31
Okay das klingt schonmal nicht schlecht...

Interface + JEDI klasse ergibt immerhin einen einzeiler der dynamisch klassen+methodenname ausliest... jetzt nur noch an einer stelle implementieren + einen schalter einbauen ob das tracing stattfinden soll. Aber diese stelle gibt es wohl nicht oder? es gibt ja nichts was die methodenaufrufe sozusagen verarbeitet und man noch einfluss darauf nehmen kann...
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#14

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren

  Alt 23. Feb 2012, 17:38
{$ifdef debug} ... {$endif}

??
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
schlecki

Registriert seit: 11. Apr 2005
Ort: Darmstadt
148 Beiträge
 
Delphi XE2 Enterprise
 
#15

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren

  Alt 23. Feb 2012, 22:21
oder ein boolean als class var in TMeasure - wenn der false ist, einfach im Log nichts schreiben.

edit: @bernhard geyer das mit der jcl muß ich mir nochmal anschauen, haben wir sowieso im projekt Danke ^^
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#16

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren

  Alt 23. Feb 2012, 22:39
Darf man mal fragen wozu du das brauchst?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#17

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren

  Alt 23. Feb 2012, 23:40
Darf man mal fragen wozu du das brauchst?
Wenn man absolut keine Ahnung hat, was das eigene Programm macht und man das nun endlich mal wissen will?

Bei 'ner Multithreadanwendung, mit "ausreichend" (tausenden/millionen) Funktionen, da möchte ich dan die "kleinen" Logdateien sehn und vorallem den, welcher damit dann auch wirklich noch was anfangen kann (den, der in dieser Masse dann noch das Wichtige findet).
$2B or not $2B
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#18

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren

  Alt 24. Feb 2012, 07:24
...da möchte ich dann die "kleinen" Logdateien sehn und vorallem den, welcher damit dann auch wirklich noch was anfangen kann (den, der in dieser Masse dann noch das Wichtige findet).
Es soll doch glatt Leute geben, die sich eine Auswertesoftware schreiben oder die Ergebnisse in einen SQL-Server schaufeln und dann damit rumspielen.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#19

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren

  Alt 24. Feb 2012, 08:25
Die VAriante mit dem Interface ist eigentlich genial.
Das darf ich mir doch mopsen?
Dieses Pattern nennt sich RAII.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#20

AW: Start und Stop jeder Methode Tracen an nur einer stelle Implementieren

  Alt 24. Feb 2012, 08:34
Darf man mal fragen wozu du das brauchst?
Damit ließe sich quantitativ erfassen, welche Programmteile wie oft aufgerufen werden und dabei allein und in Summe wie viel Ausführungszeit benötigen. Danach hat man (im Idealfall) eine Vorstellung, welches die maßgeblichen Flaschenhälse sind und wo man am effizientesten zur Optimierung ansetzen kann.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 7     12 34     Letzte »    


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 05:16 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