Zitat von
DualCoreCpu:
Kann mir jemand mal ein Aufrufbeispiel geben oder mir eine einsteigerfreundliche verständliche Dokumentation nennen oder verlinken?
Das debuggen mittels gdbserver geschieht durch gdb. gdb stellt die Kommunikation zum gdbserver her.
Folgendes gilt für Zielsystem = lokales System auf Linux, target = consoleprog, für Windows sinngemäss:
Zuerst gdbserver in einem termial auf dem Zielsystem starten:
Zitat:
mse@linuxca:~/proj/msegui/testcase/mse/console> gdbserver
localhost:4242 ./consoleprog
Process ./consoleprog created; pid = 9867
Listening on port 4242
In einem 2. Terminal auf dem lokalen System gdb starten, Verbindung zu target herstellen ("target remote"), target-Programm starten ("c" für continue):
Zitat:
mse@linuxca:~/proj/msegui/testcase/mse/console> gdb ./consoleprog
GNU gdb (GDB) SUSE (6.8.91.20090930-2.4)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU
GPL version 3 or later <http://gnu.org/licenses/
gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i586-suse-linux".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/mse/proj/msegui/testcase/mse/console/consoleprog...done.
(gdb) target remote
localhost:4242
Remote debugging using
localhost:4242
_FPC_PROC_START () at si_prc.inc:49
49 si_prc.inc: Datei oder Verzeichnis nicht gefunden.
in si_prc.inc
(gdb) c
Continuing.
Nun kann im target-Terminal mit dem Programm gearbeitet werden, debugging geschieht im lokalen Terminal.
Target:
Zitat:
Remote debugging from host 127.0.0.1
*Hello World*, program started.
q
Q
Program finished.
Child exited with status 0
GDBserver exiting
mse@linuxca:~/proj/msegui/testcase/mse/console>
Lokal:
Zitat:
Program exited normally.
(gdb)
Meist lässt sich die gdbserver Einstellung in der
IDE vornehmen beispielsweise für MSEide und xterm auf target-System:
http://homepage.bluewin.ch/msegui/pics/remotedebug1.png
Und so sieht es dann aus:
http://homepage.bluewin.ch/msegui/pics/remotedebug2.png
gdb Dokumentation:
http://sourceware.org/gdb/current/onlinedocs/gdb/
gdbserver remote Protokoll:
http://sourceware.org/gdb/current/on...emote-Protocol
Martin