gdbserver - Online in de cloud

Dit is de opdracht gdbserver die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


gdbserver - Externe server voor de GNU Debugger

KORTE INHOUD


gdb-server comm prog [betoogt

gdbserver --bijvoegen comm pid

gdbserver --multi comm

PRODUCTBESCHRIJVING


gdb-server is een programma waarmee u GDB op een andere machine kunt uitvoeren dan die
die het programma uitvoert dat wordt gedebugd.

Gebruik (server (doel) kant):

Eerst moet u een kopie van het programma dat u wilt debuggen op het doel plaatsen
systeem. Het programma kan indien nodig worden gestript om ruimte te besparen, zoals gdb-server maakt niet uit
over symbolen. Alle symboolverwerking wordt verzorgd door de GDB die op de host draait
systeem.

Om de server te gebruiken, logt u in op het doelsysteem en voert u het gdb-server programma. Jij
moet het vertellen (a) hoe te communiceren met GDB, (b) de naam van uw programma, en (c) zijn
argumenten. De algemene syntaxis is:

doel> gdbserver [ ...]

Als u bijvoorbeeld een seriële poort gebruikt, zou u kunnen zeggen:

doel> gdbserver /dev/com1 emacs foo.txt

Dit vertelt gdb-server om emacs te debuggen met een argument van foo.txt, en om mee te communiceren
GDB via /dev/com1. gdb-server wacht nu geduldig op de host-GDB om ermee te communiceren.

Om een ​​TCP-verbinding te gebruiken, zou je kunnen zeggen:

doel> gdbserver host:2345 emacs foo.txt

Dit zegt vrijwel hetzelfde als het laatste voorbeeld, behalve dat we dat gaan doen
communiceren met de "host" GDB via TCP. Het argument "host:2345" betekent dat we dat zijn
verwacht een TCP-verbinding te zien van "host" naar lokale TCP-poort 2345. (Momenteel is de
"host"-gedeelte wordt genegeerd.) U kunt elk nummer kiezen dat u wilt voor het poortnummer, zo lang
omdat het niet conflicteert met bestaande TCP-poorten op het doelsysteem. Deze zelfde haven
nummer moet worden gebruikt in de opdracht "target remote" van de host GDB, die zal worden beschreven
binnenkort. Merk op dat als u een poortnummer kiest dat conflicteert met een andere service,
gdb-server zal een foutmelding afdrukken en afsluiten.

gdb-server kan ook worden gekoppeld aan lopende programma's. Dit gaat via de --bijvoegen
argument. De syntaxis is:

doel> gdbserver --attach

pid is de proces-ID van een momenteel actief proces. Het is niet nodig om te wijzen
gdb-server bij een binair bestand voor het lopende proces.

Om "gdbserver" te starten zonder een initiële opdracht te geven om uit te voeren of ID te verwerken om te koppelen,
Gebruik de --multi opdrachtregel optie. In dat geval moet u verbinding maken met behulp van "target
extended-remote" om het programma te starten dat u wilt debuggen.

doel> gdbserver --multi

Gebruik (hostzijde):

U hebt een ongestripte kopie van het doelprogramma op uw hostsysteem nodig, aangezien GDB dat nodig heeft
onderzoek zijn symbooltabellen en dergelijke. Start GDB op zoals u normaal zou doen, met het doel
programma als eerste argument. (Mogelijk moet u de -- baud optie als de seriële lijn
draait op alles behalve 9600 baud.) Dat is "gdb TARGET-PROG", of "gdb --baud BAUD
TARGET-PROG". Daarna is de enige nieuwe opdracht die u moet kennen "target remote"
(of "target extended-remote"). Het argument is een apparaatnaam (meestal een serial
apparaat, zoals /dev/ttyb), of een "HOST:PORT"-descriptor. Bijvoorbeeld:

(gdb) doel op afstand /dev/ttyb

communiceert met de server via een seriële lijn /dev/ttyben:

(gdb) doel op afstand the-target:2345

communiceert via een TCP-verbinding met poort 2345 op host `the-target', waar je voorheen
opgestart gdb-server met hetzelfde poortnummer. Merk op dat u voor TCP-verbindingen moet
beginnen gdb-server voordat u het `target remote'-commando gebruikt, anders kunt u een
fout die lijkt op `Verbinding geweigerd'.

gdb-server kan ook meerdere inferiors tegelijk debuggen, beschreven in de GDB-handleiding in node
"Inferiors en programma's" -- shell-commando "info -f gdb -n 'Inferiors en programma's'". In
gebruik in dat geval de "extended-remote" GDB-opdrachtvariant:

(gdb) target uitgebreid-afstandsbediening the-target:2345

De gdb-server optie --multi kan in dat geval wel of niet worden gebruikt.

OPTIES


Er zijn drie verschillende manieren om aan te roepen gdb-server:

· Debuggen van een specifiek programma gespecificeerd door de programmanaam:

gdb-server [ ...]

De comm parameter specificeert hoe de server moet communiceren met GDB; het is ofwel
een apparaatnaam (om een ​​seriële lijn te gebruiken), een TCP-poortnummer (":1234") of "-" of "stdio"
om stdin/stdout van "gdbserver" te gebruiken. Geef de naam op van het programma waarin u wilt debuggen prog.
Eventuele resterende argumenten worden woordelijk aan het programma doorgegeven. Wanneer het programma
verlaat, verbreekt GDB de verbinding en "gdbserver" wordt afgesloten.

· Foutopsporing in een specifiek programma door de proces-ID van een lopend programma op te geven:

gdbserver --attach

De comm parameter is zoals hierboven beschreven. Geef de proces-ID op van een lopend programma
in pid; GDB doet al het andere. Net als bij de vorige modus, wanneer het proces
pid verlaat, verbreekt GDB de verbinding en "gdbserver" wordt afgesloten.

· Multi-procesmodus -- debug meer dan één programma/proces:

gdbserver --multi

In deze modus kan GDB instructies geven gdb-server welke opdracht(en) moeten worden uitgevoerd. In tegenstelling tot de andere 2
modes, zal GDB de verbinding niet verbreken wanneer een proces dat wordt opgespoord wordt afgesloten, dus jij
kan meerdere processen in dezelfde sessie debuggen.

In elk van de modi kunt u deze opties specificeren:

--help
Zet alle opties op een rij, met korte uitleg.

--versie
Deze optie veroorzaakt gdb-server om het versienummer af te drukken en af ​​te sluiten.

--bijvoegen
gdb-server zal hechten aan een lopend programma. De syntaxis is:

doel> gdbserver --attach

pid is de proces-ID van een momenteel actief proces. Het is niet nodig om te wijzen
gdb-server bij een binair bestand voor het lopende proces.

--multi
Om "gdbserver" te starten zonder een initiële opdracht te geven om ID uit te voeren of te verwerken
bijlage, gebruikt u deze opdrachtregeloptie. Vervolgens kunt u verbinding maken met behulp van "target
extended-remote" en start het programma dat u wilt debuggen. De syntaxis is:

doel> gdbserver --multi

--debuggen
Instrueer "gdbserver" om extra statusinformatie over het foutopsporingsproces weer te geven.
Deze optie is bedoeld voor "gdbserver"-ontwikkeling en voor het rapporteren van bugs aan de
ontwikkelaars.

--debuggen op afstand
Instrueer "gdbserver" om de foutopsporingsoutput van het externe protocol weer te geven. Deze optie is bedoeld
voor "gdbserver"-ontwikkeling en voor bugrapporten aan de ontwikkelaars.

--debug-format=optie1[,Optie 2,...]
Instrueer "gdbserver" om extra informatie op te nemen in elke regel van foutopsporingsuitvoer.

--wikkel
Geef een wrapper op om programma's voor foutopsporing te starten. De optie moet gevolgd worden door
de naam van de wrapper, vervolgens eventuele opdrachtregelargumenten die aan de wrapper moeten worden doorgegeven
"--" geeft het einde van de wrapper-argumenten aan.

--een keer
Standaard gdb-server houdt de luisterende TCP-poort open, zodat extra
aansluitingen zijn mogelijk. Als u echter "gdbserver" start met de --een keer keuze,
het zal stoppen met luisteren naar verdere verbindingspogingen na verbinding te hebben gemaakt met de
eerste GDB-sessie.

Gebruik gdbserver online met behulp van onworks.net-services



Nieuwste Linux & Windows online programma's