AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE IDE – Debugger-Anzeige komplexer Datenstrukturen?
Thema durchsuchen
Ansicht
Themen-Optionen

IDE – Debugger-Anzeige komplexer Datenstrukturen?

Ein Thema von Andreas13 · begonnen am 28. Jun 2022 · letzter Beitrag vom 30. Jun 2022
Antwort Antwort
Benutzerbild von stahli
stahli
Online

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: IDE – Debugger-Anzeige komplexer Datenstrukturen?

  Alt 28. Jun 2022, 16:17
Ich sehe zwei Optionen:

1) CodesiteLogging.Codesite.Send('MyText', MyObject);

Je nachdem, was Du für Objekte mit gibst, kannst Du nachher noch die Eigenschaften einsehen (z.B. StringListen)

2) eigener Visualizer

Du kannst auch eigene Viewer bauen und in der IDE registrieren. Mal hier als Einstieg:
https://www.delphipraxis.net/189852-...ptimieren.html
https://www.delphipraxis.net/206854-...n-threads.html
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
730 Beiträge
 
Delphi XE5 Professional
 
#2

AW: IDE – Debugger-Anzeige komplexer Datenstrukturen?

  Alt 29. Jun 2022, 08:43
Hallo Stahli,

danke für die Infos!
Beim ersten Überfliegen der empfohlenen Quellen konnte ich die Vorgehensweise leider (noch) nicht verstehen. Auch habe ich nicht die in Deinem usoGuidVisualizer.pas https://www.delphipraxis.net/189852-...imieren-2.html aufgeführten Units: soGuid.pas, soInterfaces.pas, CodeSiteLogging.pas, so daß ich es nicht kompilieren kann.

Für mich würde ein ganz simpler Visualizer ohne Objekte reichen, denn ich kann die Variableninhalte stets in Strings umwandeln. Ich müßte lediglich meine Routine MPAF_To_String(..) irgendwie in den Debugger einbinden.

Gibt es nicht einen einfacheren Lösungsweg oder ein konkretes Beispiel für die Benutzung von usoGuidVisualizer?

Danke & Grüße
Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli
Online

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: IDE – Debugger-Anzeige komplexer Datenstrukturen?

  Alt 29. Jun 2022, 08:56
Die Units mit "so" und "Guid" sind Units aus meinem Projekt, also meine Datenstrukturen.
Das sollte nur als Beispiel dienen, wie man so einen Visualizer aufbauen kann.

Schau Dir am besten nochmal die Links zum DocWiki und die Hilfestellungen der anderen User an.
Wenn Du so einen Visualizer nutzen möchtest, dann musst Du Dich wohl da etwas durch beißen.
Eine ganz einfache Lösung gibt es offenbar nicht.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.732 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: IDE – Debugger-Anzeige komplexer Datenstrukturen?

  Alt 29. Jun 2022, 15:27
Theoretisch kann man sich auch Functions bauen, die diese Strukturen als String ausgeben (oder auch in eine Datei schreiben). Diese kann man dann im "Evaluate and Modify"-Dialog der IDE aufrufen. Problematisch dabei ist nur, dass diese Functions gerne vom Linker wegegelassen werden, deshalb muss man dafuer sorgen, dass sie irgendwo auch aufgerufen werden, z.B. in der Initialization Section einer Unit.

Das ist zwar nicht so schön und bequem wie spezielle Visualizer, aber es funktioniert auch mit alten Delphi-Versionen, die die Visualzier-API noch nicht kannten. Und es ist deutlich einfacher zu implementieren.

Edit: Hier ist ein Beispiel:
https://blog.dummzeuch.de/2017/02/15...-for-tdataset/
Thomas Mueller

Geändert von dummzeuch (29. Jun 2022 um 15:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: IDE – Debugger-Anzeige komplexer Datenstrukturen?

  Alt 29. Jun 2022, 15:34
Man kann auch im Evaluate mehrere Funktionen aufrufen und sich da den String zusammenbauen.

Für eine einmalige "mal kurz gucken"-Sache ist eine Funktion auch schneller/einfacher, als sich erst einen DebugViewer zu bauen und im Delphi zu registrieren.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
730 Beiträge
 
Delphi XE5 Professional
 
#6

AW: IDE – Debugger-Anzeige komplexer Datenstrukturen?

  Alt 29. Jun 2022, 22:33
Danke Euch allen für Eure Tipps!

Allerdings habe ich noch gewisse Probleme:

Man kann auch im Evaluate mehrere Funktionen aufrufen und sich da den String zusammenbauen.
Der Aufruf der stringbildenden Function MPAF_To_String(..) funktioniert zwar, erhalte ich jedoch immer den Wert von 0.

Theoretisch kann man sich auch Functions bauen, die diese Strukturen als String ausgeben (oder auch in eine Datei schreiben). Diese kann man dann im "Evaluate and Modify"-Dialog der IDE aufrufen. Problematisch dabei ist nur, dass diese Functions gerne vom Linker wegegelassen werden, deshalb muss man dafuer sorgen, dass sie irgendwo auch aufgerufen werden, z.B. in der Initialization Section einer Unit.
Auch das funktioniert unter Verwendung Deiner Unit u_dzDatasetDump.pas, aber der Aufruf TDataset_Dump(MPAF_To_String(..)) liefert folgende Fehlermeldung: E2010 Inkompatible Typen: 'TDataSet' und 'string'.

Irgendetwas mache ich bestimmt noch falsch...

Danke & Grüße
Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)

Geändert von Andreas13 (29. Jun 2022 um 22:35 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: IDE – Debugger-Anzeige komplexer Datenstrukturen?

  Alt 29. Jun 2022, 22:52
Die eine Funktion erstellt einen String und gibt ihn zurück
und diesen String willst du wirklich in eine andere Funktion reingeben, welche aber scheinbar ein Dataset haben will?
Ein Therapeut entspricht 1024 Gigapeut.
  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 18:04 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-2025 by Thomas Breitkreuz