Debugger-Ausgabe - mehr Features

Für Fragen rund um die Ide und zum Debugger
Antworten
br_klaus
Beiträge: 244
Registriert: Do 21. Jan 2010, 22:33
OS, Lazarus, FPC: Windows Vista (L 0.9.31 FPC 2.5.1)
CPU-Target: 32Bit
Wohnort: z.z. Brasilien, sonst 82335 Berg-Leoni (südlich von München)

Debugger-Ausgabe - mehr Features

Beitrag von br_klaus »

Hallo,
beim Debuggen (Beobachten einer Variablen) vermisse ich sehr die Möglichkeit, die es unter TP (Turbo Pascal) gab, nämlich Eingabe mit (n = integer, a=array[char]):
n, h --> n als Hexadezimalzahl zeigen
a,d (?) Anzeige als DezimalZahl-Array
a[3],10 --> die nächsten 10 Elemente ab a[3]
a[3], 10h --> dasselbe als Hexadezimal-Array
u.a.
Anzeige von Records und array of Records sollte auch ohne die Angabe der Namen der einzelnen Elemente möglich sein.

Auch werden im RegisterFenster die Werte der Register leider nur dezimal ausgegeben. Da wäre gut ein Switch (vielleicht Alt-H) zum Wechseln der Anzeige zwischen Dez/Hex.

Praktisch wäre auch ein kleiner Rechner (für rasche Berechnungen), wo man leicht zwischen Dez/Hex umschalten kann.

Herzlichen Dank
P, Nikolaus

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Debugger-Ausgabe - mehr Features

Beitrag von Christian »

Kann man beim Beobachtungsfenster für jeden Eintrag einzeln einstellen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

martin_frb
Beiträge: 588
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: Debugger-Ausgabe - mehr Features

Beitrag von martin_frb »

a[3],10 --> die nächsten 10 Elemente ab a[3]
Geht mit trunk (1.1)

Register Format, geht in 1.0 zu ändern (allerdings merkt Lazarus sich die Einstellung nicht)

br_klaus
Beiträge: 244
Registriert: Do 21. Jan 2010, 22:33
OS, Lazarus, FPC: Windows Vista (L 0.9.31 FPC 2.5.1)
CPU-Target: 32Bit
Wohnort: z.z. Brasilien, sonst 82335 Berg-Leoni (südlich von München)

Re: Debugger-Ausgabe - mehr Features

Beitrag von br_klaus »

Christian hat geschrieben:Kann man beim Beobachtungsfenster für jeden Eintrag einzeln einstellen.
Ist aber leider nur sehr spartanisch eingerichtet.

Wenn ich ich zB ein array of word habe, dann zeigt Lazarus mir nur die ersten 5 Elemente, danach folgt ...
Und ich sehe nirgendwo die Möglichkeit, eine bestimmte Anzahl von Elementen anzuzeigen.

Außerdem ist es sehr umständlich, jedesmal mit Cursor anklicken eine Option auszuwählen. Viel praktischer wäre eine "Commandline"-Version, wie sie in TP5x und folgenden Versionen von TP möglich war (daß man gleich die gewünschte Anzahl hinter die zu beobachtende Variable schreibt, mit Komma getrennt, und dann den Ausgabetyp).
Auch der Speicherdump ist nur sehr klein. Warum nicht eine Möglichkeit geben (zB durch Angabe der Anzahl=0 oder -1), den ganzen Rest des Fensters mit dem Speicherdump auszufüllen (und da auch am besten in Blöcken von je 8 bzw 16 Bytes zusammen, evtl. mit Adresse an linker Seite, daß man eine bessere Übersicht hat.

Auch bei den Registern wäre das viel praktischer. Jetzt sind sie alphabetisch angeordnet, was nicht gerade praktisch ist... Und kann man die Register auch in Hexadezimal sehen?

Herzlichen Dank
P. Nikolaus

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Debugger-Ausgabe - mehr Features

Beitrag von Christian »

Martin scheint ja mitzulesen ansinsten könnntst auch nen feature request machen
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

martin_frb
Beiträge: 588
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: Debugger-Ausgabe - mehr Features

Beitrag von martin_frb »

br_klaus hat geschrieben: Wenn ich ich zB ein array of word habe, dann zeigt Lazarus mir nur die ersten 5 Elemente, danach folgt ...
Und ich sehe nirgendwo die Möglichkeit, eine bestimmte Anzahl von Elementen anzuzeigen.
In trunk (nur in trunk = Laz 1.1) ist die Option "Repeat Cont" ( http://wiki.lazarus.freepascal.org/IDE_ ... Properties" onclick="window.open(this.href);return false; ) implementiert.
Außerdem ist es sehr umständlich, jedesmal mit Cursor anklicken eine Option auszuwählen. Viel praktischer wäre eine "Commandline"-Version, wie sie in TP5x und folgenden Versionen von TP möglich war (daß man gleich die gewünschte Anzahl hinter die zu beobachtende Variable schreibt, mit Komma getrennt, und dann den Ausgabetyp).
Das Thema Komfort beim konfigurieren ist tatsaechlich noch sehr offen. (Auch was den Zeitplan betrifft).
Commandline ist irgendwann mal fuer Makros geplant (aber das (CmdLine) ist noch lang hin)
Auch der Speicherdump ist nur sehr klein. Warum nicht eine Möglichkeit geben (zB durch Angabe der Anzahl=0 oder -1), den ganzen Rest des Fensters mit dem Speicherdump auszufüllen (und da auch am besten in Blöcken von je 8 bzw 16 Bytes zusammen, evtl. mit Adresse an linker Seite, daß man eine bessere Übersicht hat.
Speicherdump braucht nen eigenen Viewer.

Read this thread http://lists.lazarus.freepascal.org/pip ... 74274.html" onclick="window.open(this.href);return false; and compile with DBG_WITH_GDB_WATCHES defined. WARNING: this is not officially supported.
Auch bei den Registern wäre das viel praktischer. Jetzt sind sie alphabetisch angeordnet, was nicht gerade praktisch ist... Und kann man die Register auch in Hexadezimal sehen?
In der toolbar ist ein dropdown fuer Register (hex, binaer, decimal). Oder auch im contextmenu.


An den debug Fenstern ist noch viel zu machen. Manches wird aber warten müssen, weil erst die Strukturen/Internals des Debuggers ein großes refactoring brauchen.

Antworten