Einzelnen Beitrag anzeigen

mse1

Registriert seit: 21. Nov 2007
115 Beiträge
 
#3

Re: gdbserver starten, wie?

  Alt 14. Feb 2010, 08:45
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
Martin Schreiber
  Mit Zitat antworten Zitat