Dit is de opdracht avr-objdump 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
objdump - toon informatie uit objectbestanden.
KORTE INHOUD
objdump [-a|--archief-headers]
[-b bfdnaam|--doel=bfdnaam]
[-C|--ontmantelen[=stijl] ]
[-d|--demonteren]
[-D|--alles demonteren]
[-z|--demonteer-nullen]
[-EB|-DE|--endiaans={grote | klein }]
[-f|--bestand-headers]
[-F|--bestand-offsets]
[--bestand-start-context]
[-g|--debuggen]
[-e|--debugging-tags]
[-h|--sectie-headers|--koppen]
[-i|--info]
[-j sectie|--sectie=sectie]
[-l|--lijn nummers]
[-S|--bron]
[-m machine|--architectuur=machine]
[-M opties|--disassembler-opties=opties]
[-p|--privé-headers]
[-P opties|--privé=opties]
[-r|--verplaatsen]
[-R|--dynamische-verplaatsing]
[-s|--volledige inhoud]
[-W[lLiaprmfFsoRt]|
--dwerg[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges ,=gdb_index]]
[-G|--steken]
[-t|--sym]
[-T|--dynamische-syms]
[-x|--alle headers]
[-w|--breed]
[--start-adres=adres]
[--stop-adres=adres]
[--prefix-adressen]
[--[no-]show-raw-insn]
[--aanpassen-vma=compenseren]
[--special-syms]
[--voorvoegsel=voorvoegsel]
[--prefix-strook=niveau]
[--insn-breedte=Breedte]
[-V|--versie]
[-H|--help]
objbestand...
PRODUCTBESCHRIJVING
object geeft informatie weer over een of meer objectbestanden. De opties bepalen wat:
bepaalde informatie weer te geven. Deze informatie is vooral nuttig voor programmeurs die:
werken aan de compilatietools, in tegenstelling tot programmeurs die gewoon hun
programma om te compileren en te werken.
objbestand... zijn de te onderzoeken objectbestanden. Wanneer u archieven opgeeft, object shows
informatie over elk van de ledenobjectbestanden.
OPTIES
De lange en korte vormen van opties, hier weergegeven als alternatieven, zijn gelijkwaardig. Minstens
één optie uit de lijst -a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-P,-r,-R,-s,-S,-t,-T ,-V,-x moet
gegeven.
-a
--archief-header
Als een van de objbestand bestanden zijn archieven, geef de archiefkopinformatie weer (in a
formaat vergelijkbaar met ls -l). Naast de informatie die je zou kunnen vermelden met ar tv, object
-a toont het objectbestandsformaat van elk archieflid.
--aanpassen-vma=compenseren
Bij het dumpen van informatie, eerst toevoegen compenseren naar alle sectieadressen. Dit is
handig als de sectieadressen niet overeenkomen met de symbolentabel, wat kan
gebeuren bij het plaatsen van secties op bepaalde adressen bij gebruik van een formaat dat niet kan
sectie-adressen vertegenwoordigen, zoals a.out.
-b bfdnaam
--doel=bfdnaam
Specificeer dat de objectcode-indeling voor de objectbestanden is: bfdnaam. Deze optie kan
niet nodig zijn; object kan automatisch veel formaten herkennen.
Bijvoorbeeld
objdump -b oasys -m vax -h fu.o
geeft samenvattende informatie weer uit de sectiekoppen (-h) van fu.oDit is
expliciet geïdentificeerd (-m) als een VAX-objectbestand in het formaat geproduceerd door Oasys
samenstellers. U kunt de beschikbare formaten weergeven met de -i optie.
-C
--ontwarren[=stijl]
decoderen (ontmantelen) symboolnamen op laag niveau in namen op gebruikersniveau. Naast het verwijderen van eventuele
aanvankelijke onderstrepingsteken voorafgegaan door het systeem, dit maakt C++-functienamen leesbaar.
Verschillende compilers hebben verschillende mangling-stijlen. De optionele ontmantelingsstijl
argument kan worden gebruikt om een geschikte demangling-stijl voor uw compiler te kiezen.
-g
--debuggen
Foutopsporingsinformatie weergeven. Dit probeert het STABS- en IEEE-foutopsporingsformaat te ontleden
informatie die in het bestand is opgeslagen en print het uit met een C-achtige syntaxis. Als geen van beide
deze formaten zijn gevonden deze optie valt terug op de -W optie om elke DWARF af te drukken
informatie in het dossier.
-e
--debugging-tags
Like -g, maar de informatie wordt gegenereerd in een formaat dat compatibel is met de tool ctags.
-d
--demonteren
Geef het geheugensteuntje van de assembler weer voor de machine-instructies van: objbestand. Deze
optie demonteert alleen die secties waarvan verwacht wordt dat ze instructies bevatten.
-D
--alles demonteren
Like -d, maar demonteer de inhoud van alle secties, niet alleen de secties die naar verwachting zullen
instructies bevatten.
Als het doelwit een ARM-architectuur is, heeft deze schakelaar ook het effect dat de
disassembler om stukjes gegevens in codesecties te decoderen alsof ze waren
instructies.
--prefix-adressen
Druk bij het demonteren op elke regel het volledige adres af. Dit is de oudste
demontage formaat.
-EB
-DE
--endian={groot|klein}
Specificeer de endianness van de objectbestanden. Dit betreft alleen de demontage. Dit kan
handig zijn bij het demonteren van een bestandsindeling die endianness niet beschrijft
informatie, zoals S-records.
-f
--bestand-headers
Geef samenvattende informatie weer van de algemene kop van elk van de objbestand bestanden.
-F
--bestand-offsets
Bij het demonteren van secties, wanneer een symbool wordt weergegeven, ook het bestand weergeven
offset van het gegevensgebied dat op het punt staat te worden gedumpt. Als nullen worden overgeslagen,
wanneer de demontage wordt hervat, vertel de gebruiker hoeveel nullen zijn overgeslagen en het bestand
offset van de locatie van waaruit de demontage wordt hervat. Bij het dumpen van secties,
de bestandsoffset weergeven van de locatie waar de dump begint.
--bestand-start-context
Specificeer dat bij het weergeven van interlisted broncode/demontage (aangenomen -S) van een
bestand dat nog niet is weergegeven, breidt u de context uit naar het begin van het bestand.
-h
--sectie-headers
--koppen
Geef samenvattingsinformatie weer uit de sectiekoppen van het objectbestand.
Bestandssegmenten kunnen worden verplaatst naar niet-standaard adressen, bijvoorbeeld door de
-Ttekst, -Tgegevensof - Eetlepels opties om ld. Sommige bestandsindelingen voor objecten, zoals
a.out, sla het startadres van de bestandssegmenten niet op. In die situaties,
hoewel ld verplaatst de secties correct, met behulp van object -h om het bestand weer te geven
sectiekoppen kunnen niet de juiste adressen weergeven. In plaats daarvan toont het de gebruikelijke
adressen, die impliciet zijn voor het doel.
-H
--help
Druk een overzicht van de opties af om object en verlaat.
-i
--info
Geef een lijst weer met alle architecturen en objectformaten die beschikbaar zijn voor
specificatie met -b or -m.
-j naam
--sectie=naam
Toon alleen informatie voor sectie naam.
-l
--lijn nummers
Label het scherm (met behulp van foutopsporingsinformatie) met de bestandsnaam en de bronregel
nummers die overeenkomen met de getoonde objectcode of relocs. Alleen nuttig met -d, -Dof
-r.
-m machine
--architectuur=machine
Geef de architectuur op die moet worden gebruikt bij het demonteren van objectbestanden. Dit kan handig zijn
bij het demonteren van objectbestanden die geen architectuurinformatie beschrijven, zoals
als S-records. U kunt de beschikbare architecturen weergeven met de -i optie.
Als het doelwit een ARM-architectuur is, heeft deze schakelaar een extra effect. Het
beperkt de demontage tot alleen die instructies die door de architectuur worden ondersteund
gespecificeerd door machine. Als het nodig is om deze schakelaar te gebruiken omdat het invoerbestand
bevat geen architectuurinformatie, maar het is ook gewenst om te demonteren
alle instructies gebruiken: -marme.
-M opties
--disassembler-opties=opties
Geef doelspecifieke informatie door aan de disassembler. Alleen ondersteund op sommige doelen.
Als het nodig is om meer dan één demontageoptie op te geven, dan meerdere -M
opties kunnen worden gebruikt of kunnen samen in een door komma's gescheiden lijst worden geplaatst.
Als het doel een ARM-architectuur is, kan deze schakelaar worden gebruikt om te selecteren welke
register name set wordt gebruikt tijdens disassembler. Specificeren -M reg-namen-std (De
standaard) selecteert de registernamen zoals gebruikt in de instructieset van ARM
documentatie, maar met register 13 genaamd 'sp', register 14 genaamd 'lr' en register
15 genaamd 'pc'. Specificeren -M reg-namen-apcs zal de naamset selecteren die door de ARM . wordt gebruikt
Procedure Call Standard, onder vermelding van -M reg-namen-raw zal gewoon gebruiken r gevolgd
door het registernummer.
Er zijn ook twee varianten op het APCS-registernaamgevingsschema, mogelijk gemaakt door: -M reg-
namen-atpcs en -M reg-namen-special-atpcs die gebruik maken van de ARM/Thumb Procedure Call
Standaard naamgevingsconventies. (Ofwel met de normale registernamen of de speciale
namen registreren).
Deze optie kan ook worden gebruikt voor ARM-architecturen om de disassembler te dwingen om:
interpreteer alle instructies als duiminstructies met behulp van de schakelaar
--disassembler-options=kracht-duim. Dit kan handig zijn wanneer u probeert te demonteren
thumb-code geproduceerd door andere compilers.
Voor de x86 dupliceren sommige opties functies van de -m switch, maar laat fijner
korrelige controle. Meerdere selecties uit het volgende kunnen worden gespecificeerd als een komma
gescheiden string. x86-64, i386 en i8086 selecteer demontage voor de gegeven
architectuur. intel en naar kies tussen Intel-syntaxismodus en AT&T-syntaxismodus.
intel-ezelsbruggetje en att-geheugensteun kies tussen intel mnemonic-modus en AT&T mnemonic
modus. intel-ezelsbruggetje impliceert intel en att-geheugensteun impliceert naar. adres64, adres32,
adres16, data32 en data16 specificeer de standaard adresgrootte en operandgrootte. Deze
vier opties worden overschreven als x86-64, i386 or i8086 verschijnen later in de optie
snaar. als laatste, achtervoegsel, in AT&T-modus, instrueert de disassembler om een
mnemonic achtervoegsel, zelfs als het achtervoegsel kan worden afgeleid door de operanden.
Voor PowerPC, boeken regelt de demontage van BookE-instructies. 32 en 64 kiezen
PowerPC en PowerPC64 demontage, respectievelijk. e300 selecteert demontage voor de
e300 familie. 440 selecteert demontage voor de PowerPC 440. ppcps selecteert demontage
voor de gepaarde enkele instructies van de PPC750CL.
Voor MIPS regelt deze optie het afdrukken van instructiegeheugennamen en register
namen in gedemonteerde instructies. Meerdere selecties uit de volgende kunnen zijn:
opgegeven als een door komma's gescheiden tekenreeks en ongeldige opties worden genegeerd:
"geen aliassen"
Druk het 'onbewerkte' instructiegeheugen af in plaats van een pseudo-instructiegeheugen.
Dat wil zeggen, print 'daddu' of 'or' in plaats van 'move', 'sll' in plaats van 'nop', enz.
"msa"
Demonteer de MSA-instructies.
"virt"
Demonteer de virtualisatie ASE-instructies.
"xpa"
Demonteer de eXtended Physical Address (XPA) ASE-instructies.
"gpr-names=ABI"
Druk GPR-namen (general-purpose register) af zoals van toepassing voor de gespecificeerde ABI.
Standaard worden GPR-namen geselecteerd volgens de ABI van het binaire wezen
gedemonteerd.
"fpr-names=ABI"
Druk FPR-namen (floating-point register) af zoals van toepassing voor de gespecificeerde ABI.
Standaard worden FPR-nummers afgedrukt in plaats van namen.
"cp0-names=BOOG"
Print CP0 (systeembesturing coprocessor; coprocessor 0) registernamen als
geschikt voor de CPU of architectuur gespecificeerd door BOOG. Standaard, CP0
registernamen worden geselecteerd op basis van de architectuur en CPU van het binaire bestand
gedemonteerd worden.
"hwr-names=BOOG"
Print HWR (hardware register, gebruikt door de "rdhwr" instructie) namen als
geschikt voor de CPU of architectuur gespecificeerd door BOOG. Standaard HWR-namen
worden geselecteerd volgens de architectuur en CPU van het binaire wezen
gedemonteerd.
"reg-names=ABI"
Druk GPR- en FPR-namen af zoals van toepassing voor de geselecteerde ABI.
"reg-names=BOOG"
Print CPU-specifieke registernamen (CP0-register- en HWR-namen) zoals van toepassing voor:
de geselecteerde CPU of architectuur.
Voor een van de hierboven genoemde opties, ABI or BOOG kan worden gespecificeerd als: numerieke hebben
nummers gedrukt in plaats van namen, voor de geselecteerde soorten registers. Je kunt een lijst maken
de beschikbare waarden van ABI en BOOG met de --help optie.
Voor VAX kunt u functie-invoeradressen specificeren met -M invoer:0xf00ba. U kunt gebruik maken van
dit meerdere keren om VAX binaire bestanden die geen symbool bevatten correct te demonteren
tabellen (zoals ROM-dumps). In deze gevallen zou het functie-invoermasker anders zijn
gedecodeerd als VAX-instructies, wat er waarschijnlijk toe zou leiden dat de rest van de functie
verkeerd gedemonteerd.
-p
--privé-headers
Druk informatie af die specifiek is voor de bestandsindeling van het object. De exacte informatie
afgedrukt hangt af van de bestandsindeling van het object. Voor sommige bestandsindelingen voor objecten geldt geen
aanvullende informatie wordt afgedrukt.
-P opties
--privé=opties
Druk informatie af die specifiek is voor de bestandsindeling van het object. het argument opties is
een door komma's gescheiden lijst die afhangt van het formaat (de lijst met opties wordt weergegeven
met de hulp van).
Voor XCOFF zijn de beschikbare opties: hoofd, Augustus, secties, sym, verhuist, linnen,
lader, behalve, typchk, herleiden, geval en ldinfo.
-r
--verplaatsen
Druk de verplaatsingsgegevens van het bestand af. Indien gebruikt met -d or -D, de verhuizingen zijn
gedrukt afgewisseld met de demontage.
-R
--dynamische-verplaatsing
Druk de dynamische verplaatsingsgegevens van het bestand af. Dit is alleen zinvol voor dynamisch
objecten, zoals bepaalde typen gedeelde bibliotheken. Wat betreft -r, indien gebruikt met -d or -D,
de verhuizingen worden afgedrukt afgewisseld met de demontage.
-s
--volledige inhoud
Geef de volledige inhoud van de gevraagde secties weer. Standaard allemaal niet leeg
secties worden weergegeven.
-S
--bron
Toon broncode vermengd met demontage, indien mogelijk. Impliceert -d.
--voorvoegsel=voorvoegsel
Specificeren voorvoegsel om toe te voegen aan de absolute paden bij gebruik met -S.
--prefix-strook=niveau
Geef aan hoeveel initiële directorynamen de vaste absolute paden moeten verwijderen.
Het heeft geen effect zonder --voorvoegsel=voorvoegsel.
--show-raw-insn
Bij het demonteren van instructies, print de instructie zowel in hex als in symbolic
formulier. Dit is de standaard behalve wanneer --prefix-adressen is gebruikt.
--no-show-raw-insn
Druk bij het demonteren van instructies de instructiebytes niet af. Dit is de
standaard wanneer --prefix-adressen is gebruikt.
--insn-breedte=Breedte
Display Breedte bytes op een enkele regel bij het demonteren van instructies.
-W[lLiaprmfFsoRt]
--dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev ,=trace_aranges,=gdb_index]
Toont de inhoud van de foutopsporingssecties in het bestand, indien aanwezig. Als een
van de optionele letters of woorden volgt de schakelaar dan alleen gegevens gevonden in die
specifieke secties worden gedumpt.
Merk op dat er geen enkele letter-optie is om de inhoud van traceersecties weer te geven of
.gdb_index.
Opmerking: de uitvoer van de =info optie kan ook worden beïnvloed door de opties
--dwergdiepte --dwerg-start en --dwerg-check.
--dwarf-diepte=n
Beperk de dump van de ".debug_info" sectie tot n kinderen. Dit is alleen nuttig met
--dwerg=info. De standaardinstelling is om alle DIE's af te drukken; de speciale waarde 0 voor n zal ook
hebben dit effect.
Met een niet-nulwaarde voor n, DIEs op of dieper dan n niveaus worden niet afgedrukt. De
bereik voor n is op nul gebaseerd.
--dwerg-start=n
Print alleen DIEs die beginnen met de DIE genummerd n. Dit is alleen nuttig met
--dwerg=info.
Indien gespecificeerd, onderdrukt deze optie het afdrukken van koptekstinformatie en alles
DIEs voordat de DIE genummerd is n. Alleen broers en zussen en kinderen van de gespecificeerde DIE zullen
gedrukt worden.
Dit kan worden gebruikt in combinatie met: --dwergdiepte.
--dwerg-check
Schakel aanvullende controles in op consistentie van dwerginformatie.
-G
--steken
Geef de volledige inhoud van de gevraagde secties weer. Geef de inhoud van de . weer
.stab en .stab.index en .stab.excl secties uit een ELF-bestand. Dit is alleen nuttig
op systemen (zoals Solaris 2.0) waarin ".stab" debugging symbooltabel-items zijn
gedragen in een ELF-sectie. In de meeste andere bestandsindelingen, foutopsporing in symbooltabelitems
zijn verweven met koppelingssymbolen en zijn zichtbaar in de --sym uitgang.
--start-adres=adres
Begin met het weergeven van gegevens op het opgegeven adres. Dit heeft invloed op de output van de -d, -r
en -s opties.
--stop-adres=adres
Stop met het weergeven van gegevens op het opgegeven adres. Dit heeft invloed op de output van de -d, -r
en -s opties.
-t
--sym
Druk de symbooltabelitems van het bestand af. Dit is vergelijkbaar met de informatie
geleverd door de nm programma, hoewel het weergaveformaat anders is. het formaat van
de uitvoer hangt af van het formaat van het bestand dat wordt gedumpt, maar er zijn twee belangrijke:
types. Een ziet er zo uit:
[ 4](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss
[ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred
waarbij het getal tussen de vierkante haken het nummer is van het item in het symbool
tafel, de sec nummer is het sectienummer, de fl waarde zijn de vlagbits van het symbool,
the ty nummer is het type van het symbool, de scl nummer is de opslagklasse van het symbool en
the nx waarde is het aantal hulpvermeldingen dat aan het symbool is gekoppeld. De laatste
twee velden zijn de waarde van het symbool en de naam.
Het andere veelgebruikte uitvoerformaat, dat meestal wordt gezien bij op ELF gebaseerde bestanden, ziet er als volgt uit:
00000000 ld .bss 00000000 .bss
00000000 g .tekst 00000000 fred
Hier is het eerste getal de waarde van het symbool (soms het adres genoemd).
Het volgende veld is eigenlijk een set tekens en spaties die de vlagbits aangeven
die op het symbool staan. Deze karakters worden hieronder beschreven. De volgende is de
sectie waaraan het symbool is gekoppeld of *BUIKSPIEREN* als de sectie absoluut is (dwz
niet verbonden met een sectie), of *UND* als naar de sectie wordt verwezen in het bestand
worden gedumpt, maar daar niet gedefinieerd.
Na de sectienaam komt een ander veld, een nummer, dat voor veelvoorkomende symbolen de . is
uitlijning en voor ander symbool is de grootte. Ten slotte wordt de naam van het symbool weergegeven.
De vlagkarakters zijn als volgt in 7 groepen verdeeld:
"ik"
"G"
"u"
"!" Het symbool is een lokaal (l), globaal (g), uniek globaal (u), noch globaal noch lokaal
(een spatie) of zowel globaal als lokaal (!). Een symbool kan niet lokaal of globaal zijn
om verschillende redenen, bijvoorbeeld omdat het wordt gebruikt voor foutopsporing, maar het is
waarschijnlijk een indicatie van een bug als het ooit zowel lokaal als globaal is. Uniek
globale symbolen zijn een GNU-uitbreiding op de standaardset van ELF-symboolbindingen.
Voor zo'n symbool zorgt de dynamische linker ervoor dat in het hele proces
er is slechts één symbool met deze naam en type in gebruik.
"w" Het symbool is zwak (w) of sterk (een spatie).
"C" Het symbool geeft een constructor (C) of een gewoon symbool (een spatie) aan.
"W" Het symbool is een waarschuwing (W) of een normaal symbool (een spatie). De naam van een waarschuwingssymbool
is een bericht dat moet worden weergegeven als het symbool na het waarschuwingssymbool ooit voorkomt
verwezen.
"I"
"i" Het symbool is een indirecte verwijzing naar een ander symbool (I), een functie die moet worden
geëvalueerd tijdens verplaatsingsverwerking (i) of een normaal symbool (een spatie).
"d"
"D" Het symbool is een foutopsporingssymbool (d) of een dynamisch symbool (D) of een normaal symbool (a
ruimte).
"F"
"F"
"O" Het symbool is de naam van een functie (F) of een bestand (f) of een object (O) of alleen een
normaal symbool (een spatie).
-T
--dynamische-syms
Druk de dynamische symbolentabelitems van het bestand af. Dit is alleen zinvol voor
dynamische objecten, zoals bepaalde typen gedeelde bibliotheken. Dit is vergelijkbaar met de
informatie verstrekt door de nm programma wanneer gegeven de -D (--dynamisch) keuze.
--special-syms
Bij het weergeven van symbolen omvatten die symbolen die het doelwit in sommige gevallen als speciaal beschouwt
manier en die normaal gesproken niet van belang zijn voor de gebruiker.
-V
--versie
Print het versienummer van object en verlaat.
-x
--alle headers
Toon alle beschikbare koptekstinformatie, inclusief de symbolentabel en verplaatsing
inzendingen. Gebruik makend van -x is gelijk aan het specificeren van alle -a -f -h -p -r -t.
-w
--breed
Formatteer enkele regels voor uitvoerapparaten met meer dan 80 kolommen. ook niet
kap symboolnamen af wanneer ze worden weergegeven.
-z
--demonteer-nullen
Normaal gesproken slaat de demontage-uitgang blokken met nullen over. Deze optie leidt de
disassembler om die blokken te demonteren, net als alle andere gegevens.
@filet
Lees opdrachtregelopties van filet. De gelezen opties worden ingevoegd in plaats van de
origineel @filet optie. Indien filet niet bestaat, of niet kan worden gelezen, dan is de optie
wordt letterlijk behandeld en niet verwijderd.
opties in filet worden gescheiden door witruimte. Een witruimteteken kan worden opgenomen
in een optie door de hele optie tussen enkele of dubbele aanhalingstekens te plaatsen. Ieder
teken (inclusief een backslash) kan worden toegevoegd door het teken voor te zetten dat moet worden
inclusief backslash. De filet kan zelf extra @ bevattenfilet opties; ieder
dergelijke opties worden recursief verwerkt.
Gebruik avr-objdump online met onworks.net-services