AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen FreePascal GDB/MI Interface von Lazarus -> EConvertError!
Thema durchsuchen
Ansicht
Themen-Optionen

GDB/MI Interface von Lazarus -> EConvertError!

Ein Thema von schöni · begonnen am 16. Feb 2010 · letzter Beitrag vom 16. Feb 2010
Antwort Antwort
schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#1

GDB/MI Interface von Lazarus -> EConvertError!

  Alt 16. Feb 2010, 12:38
Hallo,

ich experimentiere schon mal wieder 2 Wochen lang erfolglos mit dem GDBMI Interface von Lazarus 0.0.24.

Es gibt da im Verzeichnis ../lazarus/debugger/test das Debugtest Beispiel, das ich für meine Zwecke gerne umgebaut hätte. Leider hält sich da hartnäckig eine EConvertError Exception, die leider von mir nicht so leicht zu beheben ist.

Wenn ich das Debugtest Beispiel außerhalb der IDE starte, erhalte ich ein Meldungsfenster mit der Nachricht

Invalid argument index in format "".

Innerhalb der IDE gestartet kommt die EConvertError Exception, die wohl dafür die Ursache ist.

So ist der Debugger schlichtweg unbenutzbar!!!!

Habe hier nicht extra Crossposting bekannt gegeben, da ich in der Freepascal Community zum Problem noch keine Atwort erhalten habe.

Allerdings geht der Schrittbetrieb dennoch weiter, nur erhalte ich nach jedem Schritt wieder die besagte Fehlermeldung. So wäre ein geeigneter Workaround möhlicherweise die Unterdrückung der Fehlermeldung, solange ich dann noch dafür garntieren kann, das mein Debugclient, die "Einfache Ereepascal IDE" nicht abstürzt und auch der GDB weiter seine Arbeit auf jeden Fall verrichtet. Aber eine saubere Lösung kann das ja nicht sein, einfach die Fehlermeldungen zu unterdrücken. Geschickter ist es da schon, den Fehler zu finden und zu beseitigen. Nur weiß ich erstens nicht, wo im Source der Fehler versteckt ist und zweitens kenne ich das korrekte Format nicht und kenne so auch nicht den korrekten Argument Index.
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#2

Re: GDB/MI Interface von Lazarus -> EConvertError!

  Alt 16. Feb 2010, 13:47
Zitat von schöni:
Lazarus 0.0.24.
Hast du die letzte Stable und das letzte Nightly Build mal probiert? Weil, 0.9.24 ist ja doch schon etwas älter.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#3

Re: GDB/MI Interface von Lazarus -> EConvertError!

  Alt 16. Feb 2010, 14:49
Zitat von Daniel G:
Zitat von schöni:
Lazarus 0.0.24.
Hast du die letzte Stable und das letzte Nightly Build mal probiert? Weil, 0.9.24 ist ja doch schon etwas älter.
Nein, hab ich nicht!

Was ist überhaupt das letzte "Nightly Build" und von wo ist das zu bekommen?

Auf der Downloadseite finde ich das hier.

Welches Build muss ich mir da holen?

Auf der Sourceforge Seite ist nach wie vor die Version 0.9.28

Ich kann mir natürlich mal die 0.9.28 in ein Verzeichnis ../lazarus installieren und schauen, ob dann die Quellpfade korrekt gefunden werden. Hatte bei Installation in ein anderes Vezeichnis um den Jahreswechsel da Probleme. Aber vieelicht klappt es ja, wenn ich in Verzeichnis ../../lazarus installiere.

Aber welches ist das magische Nightly Build?
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#4

Re: GDB/MI Interface von Lazarus -> EConvertError!

  Alt 16. Feb 2010, 15:31
Guck mal schöni,

hättest du auf der verlinkten Seite mal auf den Link "wiki page" geklickt, wärst du auf dem Wiki gelandet. Und dann wäre der erste Satz gewesen:

Zitat:
Snapshots are nightly builds of lazarus using the latest available sources and with the latest fixes and new bugs.
Das sind deine ominösen Nightly Builds, auch bekannt als "Snapshots". Der Compiler startet automatisch einmal in der Nacht auf dem Server des Projekts, kompilliert alles durch, was er finden kann, und haut das dann als Paket raus. Du brauchst dieses Paket zum testen:

ftp://ftp.hu.freepascal.org/pub/laza...0216-win32.exe

Du musst dir aber im Klaren sein, dass auch neue Bugs drin sein können. Denk aber daran, dass der aktuelle Snapshot den FP-Compiler in der Version 2.4.0 nutzt.

Generell empfiehlt es sich erstmal, die aktuelle stabile Version zu testen.

Bevor man sich beschwert, dass etwas nicht läuft, sollte man erstmal gucken, ob man überhaupt die neueste Version einsetzt. Denn meist ist man nicht der einzige Mensch auf der Welt, dem dieser Fehler unterläuft.
//Edit:
Verzeichnisprobleme sind etwas ganz natürliches, da der Installer das Lazarus-Verzeichnis im Ordner Anwendungsdaten bei der Deinstallation nicht löscht. Ist aber nicht tragisch, denn im Einstellungsmenü kann man ja die Pfade anpassen.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
DualCoreCpu
(Gast)

n/a Beiträge
 
#5

Re: GDB/MI Interface von Lazarus -> EConvertError!

  Alt 16. Feb 2010, 16:08
@schöni:

Versuch doch den GDB mittels gdbserver per TCP/IP anzusprechen. Ich bastle da zwar auch noch rum, aber halte das für die prktikabelste Lösung.
  Mit Zitat antworten Zitat
schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#6

Re: GDB/MI Interface von Lazarus -> EConvertError!

  Alt 16. Feb 2010, 16:22
Zitat von Daniel G:
Guck mal schöni,

hättest du auf der verlinkten Seite mal auf den Link "wiki page" geklickt, wärst du auf dem Wiki gelandet. Und dann wäre der erste Satz gewesen:

Zitat:
Snapshots are nightly builds of lazarus using the latest available sources and with the latest fixes and new bugs.
Das sind deine ominösen Nightly Builds, auch bekannt als "Snapshots". Der Compiler startet automatisch einmal in der Nacht auf dem Server des Projekts, kompilliert alles durch, was er finden kann, und haut das dann als Paket raus. Du brauchst dieses Paket zum testen:

ftp://ftp.hu.freepascal.org/pub/laza...0216-win32.exe

Du musst dir aber im Klaren sein, dass auch neue Bugs drin sein können. Denk aber daran, dass der aktuelle Snapshot den FP-Compiler in der Version 2.4.0 nutzt.

Generell empfiehlt es sich erstmal, die aktuelle stabile Version zu testen.

Bevor man sich beschwert, dass etwas nicht läuft, sollte man erstmal gucken, ob man überhaupt die neueste Version einsetzt. Denn meist ist man nicht der einzige Mensch auf der Welt, dem dieser Fehler unterläuft.
//Edit:
Verzeichnisprobleme sind etwas ganz natürliches, da der Installer das Lazarus-Verzeichnis im Ordner Anwendungsdaten bei der Deinstallation nicht löscht. Ist aber nicht tragisch, denn im Einstellungsmenü kann man ja die Pfade anpassen.

Danke für den Link. Werde diese Lazarus Version erst mal installieren und testen!

Zitat von Daniel G:
Verzeichnisprobleme sind etwas ganz natürliches, da der Installer das Lazarus-Verzeichnis im Ordner Anwendungsdaten bei der Deinstallation nicht löscht. Ist aber nicht tragisch, denn im Einstellungsmenü kann man ja die Pfade anpassen.
Muss man allerdings bloß erst mal wissen.


Zitat von Daniel G:
Bevor man sich beschwert, dass etwas nicht läuft, sollte man erstmal gucken, ob man überhaupt die neueste Version einsetzt. Denn meist ist man nicht der einzige Mensch auf der Welt, dem dieser Fehler unterläuft.
Nur tüftle ich seit 14 Tagen rum, um eine braucbare Debuggerschnittstelle für meine "Einfache Freepascal IDE" hinzukriegen. Da hätte ich schon gerne das besagte Debuggerinterface verwendet. Habe heute die Beiträge von DualCoreCpu mit großem Interesse verfolgt. Der bastelt da mit dem Debugserver rum, weil er ohne dieses Debuggerinterface verwenden zu wollen per TCP/IP mit dem GDB kommunizieren will. Ich habe diese "Einfache Freepascal IDE" hier unter Freeware verfügbar gemacht. Ich denke, das ich damit auch mal eine kleine Gegenleistung für die Nutzung anderer kostenloser Software erbracht habe. Und auch noch beabsichtige zu erbringen, denn was nützt die schönste IDE ohne ordentlichen Debugger. Für genau diese IDE brauche ich diese Debuggerschnittstelle.

Und oh Schreck, an die Wiki hab ich nun mal nich gedacht, weil ich ituitiv wie ich nun mal bin, zuerst auf der für mein Empfinden näher liegenden Lazarus Seite geguckt habe. Sorry aber auch!

@DualCoreCpu: Ich werde dieses Thema mit großem Interesse verfolgen. Vielleicht erreichst Du ja Dein Ziel. Von dem Moment an ist die Lazarus Debuggerschnittstelle für mich erledigt, dann werde ich auch mit TCP/IP auf den GDB zugreifen und zwar mit eigener Implementierung. Die dann um so nötigere GDB Doku habe ich. Habe Deinen Thread mit dem Titel "gdb Socket Error" übrigens heute Mittag gefunden. Ich werde da mit größtem Interesse mitlesen, verfolge aber erst mal mein Konzept mit der Lazarus Debuggerschnittstelle. Irgendwie muss der Debugger sich doch von externen Programmen ansprechen lassen. Mir egal wie. Hauptsache ich finde eine Lösung für mein IDE Projekt.

Bin durchaus bereit auch eine Gegenleistung zu erbringen, aber wenn da kein Ergebnis entsteht, weil ich fehlerhafte Software einsetze, macht das nicht unbedingt Freude. Und dürfte der Community auch herzlich wenig bringen, wenn ich wochenlang an einem Fehler rumbastle, während ander in der selben Zeit ne ganze Anwendung schreiben.

In meinem Thread zu meiner IDE sind Hinweise enthalten, in welche Richtung ich die IDE verbessern muss, damit sie mehr Freunde findet. Momentan ist es da mit Interessenten, die die IDE runter geladen haben, wirklich nicht allzu weit her. Kann ich alles berücksichtigen und mit einbauen. Aber ganz alleine schaff ich das nicht. Wie lange hätte denn Embarcadero gebraucht für die IDE, mal nur alleine die IDE ohne Compiler, ohne VCL, wirklich nur die IDE mit integriertem Debugger, sonst nix, wie lange bracht da ein Entwickler von Emba für die IDE auf dem Stand von sagen wir Delphi 7 Professional????

Wozu soll ich einen eigenen Debugger bauen, wenn schon einer da ist, nämlich der GDB?

Wenn mir in einem Jahr einfällt, die IDE für den Embarcadero Compiler zu bauen, gibt es auf deren Webseite ein Interface im Quellcode zu TD32, was ich mir runter geladen habe.

Wenn es eine Möglichkeit gäbe das DWarf bzw. ELF Format nach Emba's OMF zu konvertieren, würde ich von vornherin die TD32 Schnittstelle in meiner IDE verwenden. Diese IDE ist Freeware, deshalb habe ich sie auch unter Freeware veröffentlicht. Um sie verbessern zu können, brauche ich auch eine verwendbare Schnittstelle zu einem Debugger. Wer will denn schon eine IDE ohne einen solchen?

Werde mir jetzt erst mal das neue Lazarus installieren. Sollte die Debuggerschnittstelle da auch nicht laufen, werde ich das hier berichten. Ich biete eine Freeware IDE. Gegenleistung: andere funktionierende Programmteile.

Übrigens, was die Gegenleistung betrifft, ich weiß das es IDEs wie Sand am Meer gibt. Was wäre denn somit eine Gegenleistung, die Für die Community so wertvoll ist, das ich jeden Preis dafür verlangen könnte, Geld oder wenn nicht Geld, dann jeden Support, den ich benötige, so das ich dann jede noch so dämlich scheinende nervige Frage zum Projekt an jeden stellen könnte. Was für ein Softwareprojekt wäre soooo furchtbar wichtig für alle? Wo es jeden Monat in den PC Zeischriften wirklich gute und bedienerfreundliche, für den blutigen Anfänger geeignete Software kostenlos gibt. Was wäre dann die große "Killerapplikation" für die ich jeden Preis verlangen könnte? Und dann mit Sicherheit auch verlangen würde?

Jetzt bschäftige ich mich aber erst mal mit den Lazarus Snapshot. Wenn dort die Debuggerschnittstelle funzt berichte ich das hier auch, kritisiert hab ich ja schon.
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#7

Re: GDB/MI Interface von Lazarus -> EConvertError!

  Alt 16. Feb 2010, 16:37
Zitat von DualCoreCpu:
Nur tüftle ich seit 14 Tagen rum, um eine braucbare Debuggerschnittstelle für meine "Einfache Freepascal IDE" hinzukriegen. Da hätte ich schon gerne das besagte Debuggerinterface verwendet. Habe heute die Beiträge von DualCoreCpu mit großem Interesse verfolgt. Der bastelt da mit dem Debugserver rum, weil er ohne dieses Debuggerinterface verwenden zu wollen per TCP/IP mit dem GDB kommunizieren will. Ich habe diese "Einfache Freepascal IDE" hier unter Freeware verfügbar gemacht. Ich denke, das ich damit auch mal eine kleine Gegenleistung für die Nutzung anderer kostenloser Software erbracht habe. Und auch noch beabsichtige zu erbringen, denn was nützt die schönste IDE ohne ordentlichen Debugger. Für genau diese IDE brauche ich diese Debuggerschnittstelle.
Moin DualCoreCpu,
noch eine IDE? Ich dachte, schöni bastelt momentan an einer herum? Wie dem auch sei, man könnte jetzt hier wieder einen Krieg anfangen bezgl. der Erwartungshaltung ggü. Open-Source-IDEs. Man kanns aber auch lassen.
Zitat von DualCoreCpu:
Und oh Schreck, an die Wiki hab ich nun mal nich gedacht, weil ich ituitiv wie ich nun mal bin, zuerst auf der für mein Empfinden näher liegenden Lazarus Seite geguckt habe. Sorry aber auch!
Man hätte halt nur Neugier walten lassen müssen.
Zitat von DualCoreCpu:
@DualCoreCpu: Ich werde dieses Thema mit großem Interesse verfolgen. Vielleicht erreichst Du ja Dein Ziel. Von dem Moment an ist die Lazarus Debuggerschnittstelle für mich erledigt, dann werde ich auch mit TCP/IP auf den GDB zugreifen und zwar mit eigener Implementierung. Die dann um so nötigere GDB Doku habe ich.
Bist du schizophren?

Zitat von DualCoreCpu:
Jetzt bschäftige ich mich aber erst mal mit den Lazarus Snapshot. Wenn dort die Debuggerschnittstelle funzt berichte ich das hier auch, kritisiert hab ich ja schon.
Jo, tu' das.

//Edit: Hö? Eben stand der zitierte Beitrag noch bei DualCoreCpu....
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  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 16:31 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