Debugger stürzt ab beim Anzeigen zu großer Variablen

Für Fragen rund um die Ide und zum Debugger
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 stürzt ab beim Anzeigen zu großer Variablen

Beitrag von martin_frb »

google "dwarf specification"

Erster treffer: http://www.dwarfstd.org/Download.php

Es gibt sogar schon code, in fpc Lnfodwrf und in lazarus unter fpdebug irgendwo.
Nur lassen die sich so nicht direkt nutzen, sondern müssen angepasst werden...

Wie schon mehrfach gesagt: Das wird kommen, nur wann ist die frage.
Ggf auch vorher ein Mix aus Debug info und IDE liest Quellcode.

Die units in der IDE sind GDBMIDebugger und GDBTypeInfo (IIRC).

Watches, Hint, ... werden in
function TGDBMIDebuggerCommandEvaluate.DoExecute: Boolean;
abgehandelt.

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 stürzt ab beim Anzeigen zu großer Variablen

Beitrag von br_klaus »

Habe das auch gefunden (Dwarfstd.org und von denen DWARF Debugging Information Format angelesen) - über die Unit DbgInfoReader.
Ist ja hoch kompliziert, lasse lieber die Finger davon. Vielleicht erstelle ich eine Version, die den Quelltext benutzt... Geht aber auch nur für "einfache" Daten (Pointer, Zahlen, chars,..)

Beim Durchschauen des DbgInfoReaders (im Verzeichnis von LeakView) habe ich gesehen, daß der nirgendwo GDB benützt. Warum dann nicht den auch von der IDE benutzen lassen? Oder ist der nur speziell auf Leakview zugeschnitten, zur Ausgabe der Speicherlecks (Beginn, Zeile, Ende,..)?

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 stürzt ab beim Anzeigen zu großer Variablen

Beitrag von martin_frb »

br_klaus hat geschrieben:Habe das auch gefunden (Dwarfstd.org und von denen DWARF Debugging Information Format angelesen) - über die Unit DbgInfoReader.
Ist ja hoch kompliziert, lasse lieber die Finger davon. Vielleicht erstelle ich eine Version, die den Quelltext benutzt... Geht aber auch nur für "einfache" Daten (Pointer, Zahlen, chars,..)
Der parser ist schon da. Codetool.
Der Debugger muss lediglich erweitert werden, das er type info van Codetools erfragen kann.

Das muss entsprechend des gewählten Thread and Stack-frame erfolgen.
Beim Durchschauen des DbgInfoReaders (im Verzeichnis von LeakView) habe ich gesehen, daß der nirgendwo GDB benützt. Warum dann nicht den auch von der IDE benutzen lassen? Oder ist der nur speziell auf Leakview zugeschnitten, zur Ausgabe der Speicherlecks (Beginn, Zeile, Ende,..)?
LeakView nutzt LnfoDwrf, und das kann nur Addressen in Unit/Zeilennummer wandeln.

Keine types, keine variablen, ....

Antworten