remote debug

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: remote debug

Beitrag von mschnell »

martin_frb hat geschrieben:set target-async on
show target-async
Der gdb auf meinem Zielsystem ( v6.8 ) hat das nicht. Der gdb auf dem PC ( v7.2 ) hat es.

Ist das eine Frage der Version (erst ab 7.x ? ) oder muss man beim make (wie für "TUI") eine Option angeben ?

-Michael

martin_frb
Beiträge: 586
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: remote debug

Beitrag von martin_frb »

Die 2 links sind alles was ich weiss.

Irgendwo las ich mal: Die Funktion benoetigt Plattform spezifischen Code, und ist noch nicht fuer alle Platformen implementiert.

Mehr weiss ich wirklich nicht.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6770
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: remote debug

Beitrag von af0815 »

Das werd ich auch testen, ich nehme für den nächsten Versuch die aktuellen gdb paket, dann weiß ich es.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: remote debug

Beitrag von mschnell »

Ich habe den aktuellen gdb 7.5 auf meinem arm-Target "nativ" übersetzt bekommen.

Bei diesem ist gdb ist dar Modus "target-async" einstellbar.
Dann kann es also losgehen mit Lazarus remote-debug via SSH.

Der gdbserver ist natürlich beim make auch entstanden.

-Michael
Zuletzt geändert von mschnell am Sa 2. Mär 2013, 07:58, insgesamt 1-mal geändert.

martin_frb
Beiträge: 586
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: remote debug

Beitrag von martin_frb »

Las mich wissen ob es klappt (teste die PAUSE taste).

Derzeit hab ich alles auf das verhalten des windows gdb abgestimmt. Aber das ist leicht zu aendern. (hoffentlich)

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: remote debug

Beitrag von mschnell »

Auch so früh auf ? (oder noch ?) :D :D :D

Ich kann's momentan noch nicht mit fpc-programmen testen, weil ich noch nicht cross-Compilieren kann (Andy ist da weiter).

Wie ich das mit einem C - Programm ohne IDE testen soll, weiß ich nicht. C programmieren kann ich, aber das gdb commandline-Interface habe ich fast noch nie verwendet.

Das Target hat keine Tastatur und kann nur über SSH angesprochen werden.
Ob es da eine "Pause" - Taste (via Putty) gibt, weiß ich auch nicht.

-Michael

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6770
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: remote debug

Beitrag von af0815 »

Ich nehme an er meint Pause im Lazarus die an den gdb weitergegeben wird.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: remote debug

Beitrag von mschnell »

Ich denke, Martin meint die Pause-Taste der Tastatur, wenn man das Kommandozeilen Interface des gdb verwendet (Er weiß ja, dass Lazarus den Target gdb per ssh vermutlich noch nicht ansprechen kann, weil er bisher an der Variante "Zielsystem Windows" arbeitet. )

-Michael

martin_frb
Beiträge: 586
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: remote debug

Beitrag von martin_frb »

Ja, die Pause || in Lazarus. Zwischen dem gruenen Dreieck fuer Run, und dem roten Rechteck fuer Stop

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: remote debug

Beitrag von mschnell »

martin_frb hat geschrieben:Ja, die Pause || in Lazarus. Zwischen dem gruenen Dreieck fuer Run, und dem roten Rechteck fuer Stop
OK, Aber wie bekomme ich Lazarus auf dem Linux-PC mit dem gdb auf dem ARM gekoppelt ? Klar, dafür ist die SSH-Mehtode ja vorgesehen. Aber das geht nur, wenn man eine Autentifizierung macht (login mit Username und Password oder irgendwie per SSH-Zertifikat - wobei ich nicht weiß, ob das QNAP Linux letzteres überhaupt unterstützt). Soweit ich weiß, ist das in Lazarus noch nicht passend realisiert.

-Michael

martin_frb
Beiträge: 586
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: remote debug

Beitrag von martin_frb »

Die gdb Server Methode ist im Englischen Forum beschrieben (verlinkt auf der Wiki ueber Remote Debug).

SSH hab ich nie probiert:

SSH geht mit private key ("ssh-agent" hat den authentifizierten key )

Gegebenenfalls mit commandline? (nicht getestet)
ssh -u Elvis -palive

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6770
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: remote debug

Beitrag von af0815 »

SSH mit keys auf der QNAP siehe How_To_Set_Up_Authorized_Keys. Gib aber keine Passphrase ein, sonst hast wiedder das Problem ein Passwort eingeben zu müssen :-)
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: remote debug

Beitrag von mschnell »

OK. Das schaue ich mir nochmal intensiver an.

Die schreiben da:
QNAP WIKI hat geschrieben:Let's setup SSH public key authentication between your home computer (hereafter referred to as the “Host”) and your QNAP device (hereafter referred to as the “Client").
Das ist vermutlich dafür gedacht, dass man beispielsweise mit dem QNAP mit rsync auf einen User-Rechner zugreift etwa um Backups zu machen. Für unsere Zwecke müsste das QNAP wohl der Host sein. Dafür müsste man die Methodik wohl modifizieren und möglicherweise den SSH-Key auf dem QNAP erzeugen oder auf das QNAP transportieren.

Fragen dazu an Andy und Martin:

1) Meint Ihr, dann geht der Debug-Zugriff via SSH mit dem unmodifizierten Lazarus (anders ausgedrückt: brauchen wir das, was Martin gerade für "gdbssh" entwickelt nicht , wenn man "SSH Authentifikation" einrichtet ?)

2) Wenn das geht, ist das die für die Zukunft beste Methodik, die wir auf der Wiki-Page empfehlen sollten. Wäre es nicht allgemein gültiger einsetzbar, gdbssh das Einloggen mit Username und Passwort beizubringen (der Code dazu ist als Kommentar ja bereits in der Sourcedatei vorhanden.)

-Michael

Antworten