![]() |
GDB/MI Interface von Lazarus -> EConvertError!
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. |
Re: GDB/MI Interface von Lazarus -> EConvertError!
Zitat:
|
Re: GDB/MI Interface von Lazarus -> EConvertError!
Zitat:
Was ist überhaupt das letzte "Nightly Build" und von wo ist das zu bekommen? Auf der Downloadseite finde ich ![]() 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? |
Re: GDB/MI Interface von Lazarus -> EConvertError!
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:
![]() 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. ;) |
Re: GDB/MI Interface von Lazarus -> EConvertError!
@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. |
Re: GDB/MI Interface von Lazarus -> EConvertError!
Zitat:
Danke für den Link. Werde diese Lazarus Version erst mal installieren und testen! Zitat:
Zitat:
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. |
Re: GDB/MI Interface von Lazarus -> EConvertError!
Zitat:
noch eine IDE? Ich dachte, [user]schöni[/user] 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:
Zitat:
Zitat:
//Edit: Hö? Eben stand der zitierte Beitrag noch bei DualCoreCpu.... :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:35 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