GDB mit Frontend benutzen
-
- Beiträge: 6
- Registriert: Mo 25. Jun 2007, 15:34
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Dresden
GDB mit Frontend benutzen
Hallo,
wie kann ich Debuggerinterne Kommandos von aussen übergeben. Ich will ein Debuggerfrontend bauen, einen Sourcelevel-Debugger. Als Debugger will ich GDB benutzen. Aber wie kriege ich die Debuggerausgaben geliefert, die ich in mein Windows-Fenster bringen will? Wnn ich GDB starte, erscheint ein GDB eigenes Fenster mit Prompt. Dort gebe ich die Debugger Kommandos. Mit --nw --batch bewirke ich, das der Debugger sofort wieder endet.
Wie übergebe ich in diesem Modus die Debuggerkommandos an den Debugger und wie erhalte ich die Ausgaben des Debuggers auf der Konsole unter Windows zuerst mal. Von dort aus kann ich über piping die Ausgaben abholen und in meinem Windows Fenster darstellen.
Aber ich muss erst mal Kommandos von außen an den Debugger übergeben können und zwar die Debug Kommandos (step, next, print...) und ich brauche die Debuggerausgaben wenigstens erst mal auf der Konsole. Wie also erreiche ich das? Dake schon mal im Voraus für Eure Hilfe
fragender
wie kann ich Debuggerinterne Kommandos von aussen übergeben. Ich will ein Debuggerfrontend bauen, einen Sourcelevel-Debugger. Als Debugger will ich GDB benutzen. Aber wie kriege ich die Debuggerausgaben geliefert, die ich in mein Windows-Fenster bringen will? Wnn ich GDB starte, erscheint ein GDB eigenes Fenster mit Prompt. Dort gebe ich die Debugger Kommandos. Mit --nw --batch bewirke ich, das der Debugger sofort wieder endet.
Wie übergebe ich in diesem Modus die Debuggerkommandos an den Debugger und wie erhalte ich die Ausgaben des Debuggers auf der Konsole unter Windows zuerst mal. Von dort aus kann ich über piping die Ausgaben abholen und in meinem Windows Fenster darstellen.
Aber ich muss erst mal Kommandos von außen an den Debugger übergeben können und zwar die Debug Kommandos (step, next, print...) und ich brauche die Debuggerausgaben wenigstens erst mal auf der Konsole. Wie also erreiche ich das? Dake schon mal im Voraus für Eure Hilfe
fragender
-
- 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:
Wie jetzt ?Wie übergebe ich in diesem Modus die Debuggerkommandos an den Debugger und wie erhalte ich die Ausgaben des Debuggers auf der Konsole unter Windows zuerst mal. Von dort aus kann ich über piping die Ausgaben abholen und in meinem Windows Fenster darstellen.
Na durchs piping kommst du an die Informationen und übergibst ihm welche. Hast du jetzt nur das Wort benutzt weil dus irgendwo gelesen hast ? Irgendwie ist deine Frage nicht schlüssig in sich.
Schau dir mal TProcess an.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 6
- Registriert: Mo 25. Jun 2007, 15:34
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Dresden
GDB mit Frontend benutzen
Hallo!
Danke erst mal für Eure Antworten.
@theo: Danke, GDBMIDebugger ist meine Klasse
aber ein Problem gibt es doch noch:
In der Klasse Debugger, der Basisklasse für alle Debugger sind die Methoden für
Schrittbetrieb und Evaluation als public definiert. Was ich aber nicht gefunden hab,
ist eine Methode oder Eigenschaft, die mir die aktuelle Quelltextzeile und die aktuelle
Quellcodedatei übergibt. Zusätzlich die Anweisung in der aktuellen Quelltextzeile kann
mir beim Prüfen helfen (Habe ich die richtige Quellcodezeile?) oder bei falsch
initialisierter Variable (NIL-Zeiger, Überschrittener Array Index...) könnte ich
einen Spaltencursor auf die betroffene Variable positionieren. In diesem Fall brauche
ich die Nummer der Spalte in der aktuellen Quellcodezeile.
Meine Frage:
Wie komme ich an die mich interessierenden Infos ran?
Welche Bedeutung hat die Eigenschaft LineEnds der Klasse TCmdLineDebugger?
Die Methoden Runto() und JumpTo() verlangen als Parameter die Quellcodedatei und
in dieser die Zeilennummer. Aber wo krieg ich die her?
Ich will mit next bzw. Step die nächste Quelltextzeile erhalten. Die soll in meinem
Quelltext dann angesprungen werden. Die Zeilennummer ist ja jeweils mit angegeben.
Mit einer Funktion Gehe zu Zeile <Nummer> könnte ich in meinem Debugger-Frontend so
in meinem Quelltext die aktuelle Zeile anspringen. Ich will also einen Quellcode-
Debugger bauen. Ihr kennt vielleicht DDD für Linux. Was vergleichbares gibt es für
Windows aber nicht, zumindest nicht als Open Source. Und die kostenlosen Microsoft
Debugger erlauben zwar Source Level Debugging von C/C++ und C#? Quelltexten aber kein
Pascal. Und für Pascal will ich den Source Level Debugger bauen, mit Windows Fenstern.
Aber zuerst brauche ich die relevanten Informationen aus der geeigneten Debuggerklasse.
Deshalb meine Frage.
Jetzt seh ich grad noch mal in den DebuggerQuelltexten nach und glaube das die Ausdrücke in TDBGWatch bzw in TDBGLocals
definiert sind. Erhalte ich damit nur Variablen oder auch Prozeduren und Funktionen? Na ja, und dann brauch ich halt noch die Zeilennummer der Quellcodezeile. Da brauch ich Eure Hilfe
@Christian: Ich wollte so ne Klasse wie den CmdLineDebugger oder den GDBMIDebugger im Notfall selber erstellen. Aber vielleicht krieg ich ja auch in diesem Forum jene Hilfe, die ich zum Verständnis der Debuggerklassen brauche. Dann brauch ich das natürlich nich nochmal zu erfinden. Dann nehme ich einfach diese Klassen. Dazu mussen meine obigen Fragen aber erst beantwortet werden.
Heut abend mach ich aber nix mehr. Ich hoffe, Ihr könnt mir helfen. Danke schon mal im Voraus
Danke erst mal für Eure Antworten.
@theo: Danke, GDBMIDebugger ist meine Klasse
aber ein Problem gibt es doch noch:
In der Klasse Debugger, der Basisklasse für alle Debugger sind die Methoden für
Schrittbetrieb und Evaluation als public definiert. Was ich aber nicht gefunden hab,
ist eine Methode oder Eigenschaft, die mir die aktuelle Quelltextzeile und die aktuelle
Quellcodedatei übergibt. Zusätzlich die Anweisung in der aktuellen Quelltextzeile kann
mir beim Prüfen helfen (Habe ich die richtige Quellcodezeile?) oder bei falsch
initialisierter Variable (NIL-Zeiger, Überschrittener Array Index...) könnte ich
einen Spaltencursor auf die betroffene Variable positionieren. In diesem Fall brauche
ich die Nummer der Spalte in der aktuellen Quellcodezeile.
Meine Frage:
Wie komme ich an die mich interessierenden Infos ran?
Welche Bedeutung hat die Eigenschaft LineEnds der Klasse TCmdLineDebugger?
Die Methoden Runto() und JumpTo() verlangen als Parameter die Quellcodedatei und
in dieser die Zeilennummer. Aber wo krieg ich die her?
Ich will mit next bzw. Step die nächste Quelltextzeile erhalten. Die soll in meinem
Quelltext dann angesprungen werden. Die Zeilennummer ist ja jeweils mit angegeben.
Mit einer Funktion Gehe zu Zeile <Nummer> könnte ich in meinem Debugger-Frontend so
in meinem Quelltext die aktuelle Zeile anspringen. Ich will also einen Quellcode-
Debugger bauen. Ihr kennt vielleicht DDD für Linux. Was vergleichbares gibt es für
Windows aber nicht, zumindest nicht als Open Source. Und die kostenlosen Microsoft
Debugger erlauben zwar Source Level Debugging von C/C++ und C#? Quelltexten aber kein
Pascal. Und für Pascal will ich den Source Level Debugger bauen, mit Windows Fenstern.
Aber zuerst brauche ich die relevanten Informationen aus der geeigneten Debuggerklasse.
Deshalb meine Frage.
Jetzt seh ich grad noch mal in den DebuggerQuelltexten nach und glaube das die Ausdrücke in TDBGWatch bzw in TDBGLocals
definiert sind. Erhalte ich damit nur Variablen oder auch Prozeduren und Funktionen? Na ja, und dann brauch ich halt noch die Zeilennummer der Quellcodezeile. Da brauch ich Eure Hilfe
@Christian: Ich wollte so ne Klasse wie den CmdLineDebugger oder den GDBMIDebugger im Notfall selber erstellen. Aber vielleicht krieg ich ja auch in diesem Forum jene Hilfe, die ich zum Verständnis der Debuggerklassen brauche. Dann brauch ich das natürlich nich nochmal zu erfinden. Dann nehme ich einfach diese Klassen. Dazu mussen meine obigen Fragen aber erst beantwortet werden.
Heut abend mach ich aber nix mehr. Ich hoffe, Ihr könnt mir helfen. Danke schon mal im Voraus
fragender (Blöder Nick
Ich habe deine Frage noch nicht mal richtig durchgelesen. Es gibt halt Sachen, die man selber machen muss.
Die Codes in "debugger" geben dir viele Hinweise.
Ich war mal soweit, sowas in einer Kylix handgeschriebenen Ersatz-IDE zu verwenden siehe http://www.theo.ch/Kylix/dbgdemo2.png" onclick="window.open(this.href);return false; oder http://www.theo.ch/Kylix/dbgdemo1.png" onclick="window.open(this.href);return false; (man beachte hier den Gutter mit Breakpoint und durch blaue Punkte angezeigte ausführbare Zeilen. Diese Info ist nur via Debugger zu erhalten. Und achja, meine kleine Experimental IDE hatte schon Code Folding wie ihr seht. Ich meine.dass diese Bereiche der LazIDE diese Funktionaliät zur Verfügung stellen sollten).. viele Gedankenstriche...
Das hätte auch alles funktioniert aber dann hat mich der Mut verlassen, weil es mir zeitlich nicht möglich war einen Parser mit allen Schikanen zu schreiben.
"It's lonely at the top" da musst du selber durch und kannst nicht viel Forum Unterstützung erwarten.
Kleiner Tip: Wenn du aufläuftst, dann hat es mit der mangelnden Unterstützung von GDB fur Object Pascal zu tun.

Die Codes in "debugger" geben dir viele Hinweise.
Ich war mal soweit, sowas in einer Kylix handgeschriebenen Ersatz-IDE zu verwenden siehe http://www.theo.ch/Kylix/dbgdemo2.png" onclick="window.open(this.href);return false; oder http://www.theo.ch/Kylix/dbgdemo1.png" onclick="window.open(this.href);return false; (man beachte hier den Gutter mit Breakpoint und durch blaue Punkte angezeigte ausführbare Zeilen. Diese Info ist nur via Debugger zu erhalten. Und achja, meine kleine Experimental IDE hatte schon Code Folding wie ihr seht. Ich meine.dass diese Bereiche der LazIDE diese Funktionaliät zur Verfügung stellen sollten).. viele Gedankenstriche...
Das hätte auch alles funktioniert aber dann hat mich der Mut verlassen, weil es mir zeitlich nicht möglich war einen Parser mit allen Schikanen zu schreiben.
"It's lonely at the top" da musst du selber durch und kannst nicht viel Forum Unterstützung erwarten.
Kleiner Tip: Wenn du aufläuftst, dann hat es mit der mangelnden Unterstützung von GDB fur Object Pascal zu tun.
-
- 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:
Also erstmal gibt es natürlich ein gdb frontend das auch untr Windows werkelt.
http://sources.redhat.com/insight/
Dann wie Theo schon sagte, schau dir einfach die Sourcen der Debuggerklasse an und sei dankbar das sie da ist. Wie wolltest du eine eigene schreiben wenn du unfähig bist etwas anderen Source zu verstehn ?!
Auch die Farge nach LineEnds lässt mich nicht mehr glauben das das für dich so einfach gewesen wäre. Was macht wohl eine Eigenschaft die Zeilenende heisst in einer Plattformübergreifenden Debuggerklasse ????
Schönes Wochenende
http://sources.redhat.com/insight/
Dann wie Theo schon sagte, schau dir einfach die Sourcen der Debuggerklasse an und sei dankbar das sie da ist. Wie wolltest du eine eigene schreiben wenn du unfähig bist etwas anderen Source zu verstehn ?!
Auch die Farge nach LineEnds lässt mich nicht mehr glauben das das für dich so einfach gewesen wäre. Was macht wohl eine Eigenschaft die Zeilenende heisst in einer Plattformübergreifenden Debuggerklasse ????
Schönes Wochenende
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 6
- Registriert: Mo 25. Jun 2007, 15:34
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Dresden
GDB mit Frontend erstellen
Hallo Christian und Theo!
[quote="christian"]
schau dir einfach die Sourcen der Debuggerklasse an und sei dankbar das sie da ist. Wie wolltest du eine eigene schreiben wenn du unfähig bist etwas anderen Source zu verstehn ?!
[/quote]
[quote="theo"]
da musst du selber durch und kannst nicht viel Forum Unterstützung erwarten.
Kleiner Tip: Wenn du aufläuftst, dann hat es mit der mangelnden Unterstützung von GDB fur Object Pascal zu tun.
[/quote]
Herzlichen Dank für Eure überaus grosse Hilfsbereitschaft. Es muss doch jemanden geben, der sich da auskennt. In der aktuellen Lazarus-Version klappt doch der Schrittbetrieb auf Quelltextebene auch. Das hat doch irgendeiner gemacht. Ist dieses Wissen wirklich frei???
Sollte ich noch dahinter kommen, wie das funktioniert, werde ich Komponenten bauen für Lazarus und Delphi, so dass dann jeder Pleps einen Debugger bauen kann. Gelingt mir das nicht, werde ich endgültig von Open Source, Linux, GNU-Philosophie, GPL u.a. die Finger lassen.
Ich wollte ursprünglich bei der Weiterentwicklung von Lazarus mitarbeiten. Leider brauch ich da erst mal Hilfe auch in der Hinsicht: Welche Programmteile stehen in welcher Unit und in welchen Verzeichnissen finde ich diese dann. Wenn ich das nicht weiß, such ich mich dämlich. Auf der einen Seite wollt Ihr, das möglichst viele Leute an Euren Projekten arbeiten, auf der anderen Seite verweigert Ihr die notwendige Hilfe. Ein junger Baum braucht eben erst mal ne Stütze, bevor er selbständig allen Stürmen trotzt. Auf Arbeit müssen doch die Programmquellen auch so dokumemtiert werden, das ein Fremder genauso damit klarkommt. Aber bei der angeblich freien Software wird diese Hilfe verweigert. Für die Programmierer sind diese Quellen klasse Referenzen für ne Tätigkeit als Programmierer. Ich dagegen programmiere ausschließlich in meiner Freizeit, kriege also keinen müden cent dafür. Wenn ich mir da alles selber erarbeiten muss, geb ich meine Kenntnisse halt auch an niemenden weiter, es sei denn, das Geld stimmt.
Matthias Köppe von der Uni Magdeburg hat Turbo Vision grafisch gemacht. Für Turbo Pascal funktioniert alles, für Freepascal jedoch nicht. Einst wollte ich diesen Zustand ändern. Herr Köppe bot mir Unterstützung an, gegen eine Gebühr von 150,00Euro je Stunde. Und das für eine Klassenbibliothek, die damals schon veraltet war, als ich Herrn Köppe kontaktiert hatte.
Wenn ich unter diesen Umständen weiterhin keine richtige Hilfe kriege,häng ich Open Source an den sprichwörtlichen Nagel. Wenn richtige Unterstützung nur gegen Bares zu haben ist, muss ich halt kommerziell erhältliche Bibliotheken kaufen. Dort ist für das entsprechende Geld jeder Support enthalten.
Noch mal, ich wollte nach dem Bau eines eigenen Debuggers wie DDD, den es leider niur für Linux gibt, (Insight akzeptiert auf meinem Rechner keine Freepascal-exen) in die Lazarus Entwicklung einsteigen, die IDE mit weiterentwickeln, da ich zwar ne eigene angefangen habe, aber wenn es Lazarus nun mal gibt, könnte ich ja auch da mitmachen.
Aber bei der gegebenen Hilfsbereitschaft im OpenSource Bereich ist mir da die Lust vergangen.
Einst wollte ich die DOS IDE, die mit Free Vision geschrieben wurde, verbessern, habe im Freepascal Team Hilfe angefordert. Die wurde mir verweigert mit der Begründung, Free Vision könne wegen Lizenzproblemen noch nicht freigegeben werden. Aber statt dann gleich ne Grafische FreeVision zu bauen, wirde die genauso für den Textmodus entwickelt, wie das Original von Borland. Ich glaube, es ging damals gar nicht um die Lizenzproblematik, sondern um Ideologie, um Ausgrenzung bestimmter Personen, die unerwünschtes neues Gedankengut in die Softwarephilosophie einbringen wollen.
Vielleicht sollte ich wirklich die Debuggerquellen so lange studieren bis ich meinen eigenen Debugger bauen kann und dann die IDE Komponenten realisieren, egal wie lange ich dazu letztlich brauche. Wenn die Komponenten für Delphi und Lazarus erst existieren, ist wieder eine Elitebastion zerstört. Ich bleibe dran, verlasst Euch drauf!!!
[quote="christian"]
schau dir einfach die Sourcen der Debuggerklasse an und sei dankbar das sie da ist. Wie wolltest du eine eigene schreiben wenn du unfähig bist etwas anderen Source zu verstehn ?!
[/quote]
[quote="theo"]
da musst du selber durch und kannst nicht viel Forum Unterstützung erwarten.
Kleiner Tip: Wenn du aufläuftst, dann hat es mit der mangelnden Unterstützung von GDB fur Object Pascal zu tun.
[/quote]
Herzlichen Dank für Eure überaus grosse Hilfsbereitschaft. Es muss doch jemanden geben, der sich da auskennt. In der aktuellen Lazarus-Version klappt doch der Schrittbetrieb auf Quelltextebene auch. Das hat doch irgendeiner gemacht. Ist dieses Wissen wirklich frei???
Sollte ich noch dahinter kommen, wie das funktioniert, werde ich Komponenten bauen für Lazarus und Delphi, so dass dann jeder Pleps einen Debugger bauen kann. Gelingt mir das nicht, werde ich endgültig von Open Source, Linux, GNU-Philosophie, GPL u.a. die Finger lassen.
Ich wollte ursprünglich bei der Weiterentwicklung von Lazarus mitarbeiten. Leider brauch ich da erst mal Hilfe auch in der Hinsicht: Welche Programmteile stehen in welcher Unit und in welchen Verzeichnissen finde ich diese dann. Wenn ich das nicht weiß, such ich mich dämlich. Auf der einen Seite wollt Ihr, das möglichst viele Leute an Euren Projekten arbeiten, auf der anderen Seite verweigert Ihr die notwendige Hilfe. Ein junger Baum braucht eben erst mal ne Stütze, bevor er selbständig allen Stürmen trotzt. Auf Arbeit müssen doch die Programmquellen auch so dokumemtiert werden, das ein Fremder genauso damit klarkommt. Aber bei der angeblich freien Software wird diese Hilfe verweigert. Für die Programmierer sind diese Quellen klasse Referenzen für ne Tätigkeit als Programmierer. Ich dagegen programmiere ausschließlich in meiner Freizeit, kriege also keinen müden cent dafür. Wenn ich mir da alles selber erarbeiten muss, geb ich meine Kenntnisse halt auch an niemenden weiter, es sei denn, das Geld stimmt.
Matthias Köppe von der Uni Magdeburg hat Turbo Vision grafisch gemacht. Für Turbo Pascal funktioniert alles, für Freepascal jedoch nicht. Einst wollte ich diesen Zustand ändern. Herr Köppe bot mir Unterstützung an, gegen eine Gebühr von 150,00Euro je Stunde. Und das für eine Klassenbibliothek, die damals schon veraltet war, als ich Herrn Köppe kontaktiert hatte.
Wenn ich unter diesen Umständen weiterhin keine richtige Hilfe kriege,häng ich Open Source an den sprichwörtlichen Nagel. Wenn richtige Unterstützung nur gegen Bares zu haben ist, muss ich halt kommerziell erhältliche Bibliotheken kaufen. Dort ist für das entsprechende Geld jeder Support enthalten.
Noch mal, ich wollte nach dem Bau eines eigenen Debuggers wie DDD, den es leider niur für Linux gibt, (Insight akzeptiert auf meinem Rechner keine Freepascal-exen) in die Lazarus Entwicklung einsteigen, die IDE mit weiterentwickeln, da ich zwar ne eigene angefangen habe, aber wenn es Lazarus nun mal gibt, könnte ich ja auch da mitmachen.
Aber bei der gegebenen Hilfsbereitschaft im OpenSource Bereich ist mir da die Lust vergangen.
Einst wollte ich die DOS IDE, die mit Free Vision geschrieben wurde, verbessern, habe im Freepascal Team Hilfe angefordert. Die wurde mir verweigert mit der Begründung, Free Vision könne wegen Lizenzproblemen noch nicht freigegeben werden. Aber statt dann gleich ne Grafische FreeVision zu bauen, wirde die genauso für den Textmodus entwickelt, wie das Original von Borland. Ich glaube, es ging damals gar nicht um die Lizenzproblematik, sondern um Ideologie, um Ausgrenzung bestimmter Personen, die unerwünschtes neues Gedankengut in die Softwarephilosophie einbringen wollen.
Vielleicht sollte ich wirklich die Debuggerquellen so lange studieren bis ich meinen eigenen Debugger bauen kann und dann die IDE Komponenten realisieren, egal wie lange ich dazu letztlich brauche. Wenn die Komponenten für Delphi und Lazarus erst existieren, ist wieder eine Elitebastion zerstört. Ich bleibe dran, verlasst Euch drauf!!!
-
- 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:
Versteh uns doch bitte nicht falsch, aber Pascal Source ist recht einfach zu lesen. Wenn du die Funktionen nicht aus dem Source ableiten kannst was möchtest du dann das wir dir helfen ?
Wenn wir die alles from the Scratch erklären müssen ohne das du dafür etwas tust dann ist das etwas viel verlangt.
Du kannst jederzeit mit konkreten Fragen kommen aber nicht mit "Ich kenn mich mit dem GDB nicht aus bitte erklärt mir mal wie ich den bedienen muss".
Du sagst du findest dich im Source nicht zurecht, willst aber komplexe Sachen schreiben. Das was du da alles aufgezählt hast ist nicht gerad die beste Anfängermaterie.
Du kannst doch kein Buch schreiben ohne Lesen zu können !
Ich bin übrigends mit 100 Eur die Stunde völlig zufrieden wenn ich dir deine Debuggerklassen schreiben soll oder wahlweise dir auch alles von der Pike auf erklären soll.
Ansonsten beschäftige dich mit der Thematik und stell gezielte Fragen dann wird dir auch geholfen soweit das die Zeit und das Wissen der Leute zulässt.
Wenn wir die alles from the Scratch erklären müssen ohne das du dafür etwas tust dann ist das etwas viel verlangt.
Du kannst jederzeit mit konkreten Fragen kommen aber nicht mit "Ich kenn mich mit dem GDB nicht aus bitte erklärt mir mal wie ich den bedienen muss".
Du sagst du findest dich im Source nicht zurecht, willst aber komplexe Sachen schreiben. Das was du da alles aufgezählt hast ist nicht gerad die beste Anfängermaterie.
Du kannst doch kein Buch schreiben ohne Lesen zu können !
Das ist doch die T***Debugger Klasse von lazarus schon. Was willst du denn noch ? Sie ist nicht dokumentiert aber wenn man in den Source guckt kann man wunderbar erkennen was sie womit macht. Weiterhin verraten die Namen der Eigenschaften und Funktionen meisst schon was sie machen.Sollte ich noch dahinter kommen, wie das funktioniert, werde ich Komponenten bauen für Lazarus und Delphi, so dass dann jeder Pleps einen Debugger bauen kann.
OpenSource ist keine verpflichtung für die Leute dir zu helfen. Ich erlebe das ständig das die leute über Open Source und Freeware meckern hingegen sind sie zufrieden wenn Sie was bezahlen dürfen. Was soll das ?Gelingt mir das nicht, werde ich endgültig von Open Source, Linux, GNU-Philosophie, GPL u.a. die Finger lassen.
Ich bin übrigends mit 100 Eur die Stunde völlig zufrieden wenn ich dir deine Debuggerklassen schreiben soll oder wahlweise dir auch alles von der Pike auf erklären soll.
Ansonsten beschäftige dich mit der Thematik und stell gezielte Fragen dann wird dir auch geholfen soweit das die Zeit und das Wissen der Leute zulässt.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
@fragender:Was soll denn jetzt dieser Pathos und dieser aggressive Unterton?
Der Grund, warum dir hier keiner deine Fragen beantwortet ist schlicht dass es keiner weiss.
Ich weiss nur eins: Die Lazarus IDE kann das und es sind alle Sourcen vorhanden.
Wenn ich also kurz ins Verzeichnis "ide" schaue, finde ich einen Datei namens:
"debugmanager.pas".
Dort drin gibt's schöne Eventhandler wie
OnDebuggerCurrentLine
OnDebuggerChangeState
OnDebuggerException
etc.
Vielleicht findest du da was du suchst.
Ich hab aber keine Ahnung.
Der Grund, warum dir hier keiner deine Fragen beantwortet ist schlicht dass es keiner weiss.
Ich weiss nur eins: Die Lazarus IDE kann das und es sind alle Sourcen vorhanden.
Wenn ich also kurz ins Verzeichnis "ide" schaue, finde ich einen Datei namens:
"debugmanager.pas".
Dort drin gibt's schöne Eventhandler wie
OnDebuggerCurrentLine
OnDebuggerChangeState
OnDebuggerException
etc.
Vielleicht findest du da was du suchst.
Ich hab aber keine Ahnung.
-
- Beiträge: 6
- Registriert: Mo 25. Jun 2007, 15:34
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Dresden
GDB mit Frontend benutzen
Hallo!
Danke erst mal für den entscheidenden Tipp,
Ok, ich soll also gezielter fragen. Bisher konnte ich das nicht, weil
ich erst mal wissen musste welche Debuggerteile in welcher Unit stehen. In der
Unit DebugManager.pas gibt es also die Ereignisbehandlungsmethode OnDebuggerCurrentLine()
mit den Parametern Sender: TObject und Location: TDBGLocationRec. Nur, da ich den
Parameter Location übergeben muss, frage ich jetzt, wo kriege ich die Information
her, die in der Variablen mit dem Namen Location stehen muss. Gibt es da eine Methode
die das erledigt? Und wieder, in welcher Unit steht der Code dafür. Ist vielleicht die Funktion GetLine verantwortlich. Hab jetzt grad die Unit vergessen, in der die Funktion enthalten ist. Oder sind da andere Funktionen, Prozeuren, Methoden oder Klassen vorgesehen? Und welche sind es, die den TDBGLocationRec füllen?
Tut mir leid, gezielter kann ich bei der derzeitigen Kenntnis der Quelltexte nicht fragen. Da die Quelltexte nicht kommentiert und auch nicht dokumentiert sind, dauert es seine Zeit, bis ich die Infos zusammen habe, die ein gezielteres Fragen möglich machen würden.
Danke erst mal für den entscheidenden Tipp,
Ok, ich soll also gezielter fragen. Bisher konnte ich das nicht, weil
ich erst mal wissen musste welche Debuggerteile in welcher Unit stehen. In der
Unit DebugManager.pas gibt es also die Ereignisbehandlungsmethode OnDebuggerCurrentLine()
mit den Parametern Sender: TObject und Location: TDBGLocationRec. Nur, da ich den
Parameter Location übergeben muss, frage ich jetzt, wo kriege ich die Information
her, die in der Variablen mit dem Namen Location stehen muss. Gibt es da eine Methode
die das erledigt? Und wieder, in welcher Unit steht der Code dafür. Ist vielleicht die Funktion GetLine verantwortlich. Hab jetzt grad die Unit vergessen, in der die Funktion enthalten ist. Oder sind da andere Funktionen, Prozeuren, Methoden oder Klassen vorgesehen? Und welche sind es, die den TDBGLocationRec füllen?
Tut mir leid, gezielter kann ich bei der derzeitigen Kenntnis der Quelltexte nicht fragen. Da die Quelltexte nicht kommentiert und auch nicht dokumentiert sind, dauert es seine Zeit, bis ich die Infos zusammen habe, die ein gezielteres Fragen möglich machen würden.
Re: GDB mit Frontend benutzen
Nö. Hab ich doch schon gesagt: das weiss in diesem Forum keiner. Das ist Neuland für alle hier (behaupt' ich mal).fragender hat geschrieben:Hallo!
Ok, ich soll also gezielter fragen.
Wenn du Glück hast, Antwortet Dir der Entwickler dieser Units.
http://www.lazarus.freepascal.org/modul ... sURL=maill" onclick="window.open(this.href);return false;
Vielleicht brauchst du auch Informationen von den GDB Leuten.
http://sourceware.org/gdb/mailing-lists/" onclick="window.open(this.href);return false;
-
- Beiträge: 6
- Registriert: Mo 25. Jun 2007, 15:34
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Dresden
GDB mit Frontend benutzen
Hallo theo,
danke für die Links. Ich werde nun dort weiter fragen.
es grüßt fragender
danke für die Links. Ich werde nun dort weiter fragen.
es grüßt fragender
-
- 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:
Wie schon mal gefragt warum schaust du net einfach in die Sourcen, da steht ja bekanntlich alles drin sonst wären sie ja nicht üersetzbar. Deklarationen in anderen units findest du mithilfe der Codetools meisst mit 2 Klicks man kann sich damit genial durch unbekannte Sourcen hangeln.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/