Provided by: manpages-ro_4.26.0-1_all 

NUME
objdump - afișează informații din fișierele obiect
SINOPSIS
objdump [-a|--archive-headers]
[-b nume-bfd|--target=nume-bfd]
[-C|--demangle[=stil] ]
[-d|--disassemble[=simbol]]
[-D|--disassemble-all]
[-z|--disassemble-zeroes]
[-EB|-EL|--endian={big | little }]
[-f|--file-headers]
[-F|--file-offsets]
[--file-start-context]
[-g|--debugging]
[-e|--debugging-tags]
[-h|--section-headers|--headers]
[-i|--info]
[-j secțiunea|--section=secțiunea]
[-l|--line-numbers]
[-S|--source]
[--source-comment[=text]]
[-m mașina|--architecture=mașina]
[-M opțiuni|--disassembler-options=opțiuni]
[-p|--private-headers]
[-P opțiuni|--private=opțiuni]
[-r|--reloc]
[-R|--dynamic-reloc]
[-s|--full-contents]
[-Z|--decompress]
[-W[lLiaprmfFsoORtUuTgAck]|
--dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links]]
[-WK|--dwarf=follow-links]
[-WN|--dwarf=no-follow-links]
[-wD|--dwarf=use-debuginfod]
[-wE|--dwarf=do-not-use-debuginfod]
[-L|--process-links]
[--ctf=secțiunea]
[--sframe=secțiunea]
[-G|--stabs]
[-t|--syms]
[-T|--dynamic-syms]
[-x|--all-headers]
[-w|--wide]
[--start-address=adresa]
[--stop-address=adresa]
[--no-addresses]
[--prefix-addresses]
[--[no-]show-raw-insn]
[--adjust-vma=decalaj]
[--show-all-symbols]
[--dwarf-depth=n]
[--dwarf-start=n]
[--ctf-parent=secțiunea]
[--no-recurse-limit|--recurse-limit]
[--special-syms]
[--prefix=prefix]
[--prefix-strip=nivel]
[--insn-width=lățimea]
[--visualize-jumps[=color|=extended-color|=off]
[--disassembler-color=[off|terminal|on|extended]
[-U metoda] [--unicode=metoda]
[-V|--version]
[-H|--help]
fișier-obiect...
DESCRIERE
objdump afișează informații despre unul sau mai multe fișiere obiect. Opțiunile controlează ce informații
specifice se afișează. Aceste informații sunt utile mai ales programatorilor care lucrează la
instrumentele de compilare, spre deosebire de programatorii care doresc doar ca programul lor să fie
compilat și să funcționeze.
fișier-obiect... sunt fișierele obiect care urmează să fie examinate. Atunci când specificați arhive,
objdump afișează informații despre fiecare dintre fișierele obiect membre.
OPȚIUNI
Formele lungă și scurtă ale opțiunilor, prezentate aici ca alternative, sunt echivalente. Cel puțin o
opțiune din lista -a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-P,-r,-R,-s,-S,-t,-T,-V,-x trebuie să fie dată.
-a
--archive-header
Dacă oricare dintre fișierele fișier-obiect sunt arhive, afișează informațiile din antetul arhivei
(într-un format similar cu ls -l). Pe lângă informațiile pe care le-ați putea lista cu ar tv, objdump
-a afișează formatul fișierului obiect al fiecărui membru al arhivei.
--adjust-vma=decalaj
La descărcarea informațiilor, adăugă mai întâi decalaj la toate adresele secțiunilor. Acest lucru
este util în cazul în care adresele secțiunilor nu corespund tabelului de simboluri, ceea ce se poate
întâmpla la plasarea secțiunilor la anumite adrese atunci când se utilizează un format care nu poate
reprezenta adresele secțiunilor, cum ar fi a.out.
-b nume-bfd
--target=nume-bfd
Specifică că formatul codului obiect pentru fișierele obiect este nume-bfd. Această opțiune poate să
nu fie necesară; objdump poate recunoaște automat multe formate.
De exemplu,
objdump -b oasys -m vax -h fu.o
afișează informații sumare din antetele secțiunilor (-h) din fu.o, care este identificat explicit
(-m) ca fiind un fișier obiect VAX în formatul produs de compilatoarele Oasys. Puteți lista formatele
disponibile cu opțiunea -i.
-C
--demangle[=stil]
Decodificarea (demangle) numelor de simboluri de nivel scăzut în nume de nivel utilizator. În afară
de eliminarea oricărei sublinieri inițiale adăugate de sistem, acest lucru face ca numele funcțiilor
C++ să fie lizibile. Compilatoare diferite au stiluri diferite de decodificare. Argumentul opțional
„demangling style” poate fi utilizat pentru a alege un stil de decodificare adecvat pentru
compilatorul dumneavoastră.
--recurse-limit
--no-recurse-limit
--recursion-limit
--no-recursion-limit
Activează sau dezactivează limitarea numărului de recursivități efectuate în timpul decodificării
șirurilor de caractere. Deoarece formatele de manipulare a numelor permit un nivel infinit de
recursivitate, este posibil să se creeze șiruri a căror decodificare va epuiza spațiul de stivă
disponibil pe calculatorul gazdă, declanșând o eroare de memorie. Limitarea încearcă să prevină acest
lucru prin restricționarea recursivității la 2048 de niveluri de imbricare.
În mod implicit, această limită este activată, dar poate fi necesar să fie dezactivată pentru a
dezmembra nume cu adevărat complicate. Rețineți totuși că, dacă limita de recursivitate este
dezactivată, este posibilă epuizarea stivei și orice raport de eroare privind un astfel de eveniment
va fi respins.
-g
--debugging
Afișează informații de depanare. Această opțiune încearcă să analizeze informațiile din formatul de
depanare STABS stocate în fișier și să le afișeze folosind o sintaxă asemănătoare C. Dacă nu a fost
găsită nicio depanare STABS, această opțiune recurge la opțiunea -W pentru a afișa orice informație
DWARF din fișier.
-e
--debugging-tags
La fel ca -g, dar informațiile sunt generate într-un format compatibil cu instrumentul ctags.
-d
--disassemble
--disassemble=simbol
Afișează mnemonica de asamblare pentru instrucțiunile mașinii din fișierul de intrare. Această
opțiune dezasamblează numai acele secțiuni care se așteaptă să conțină instrucțiuni. Dacă se dă
argumentul opțional simbol, atunci se afișează mnemonica de asamblare începând cu simbolul. Dacă
simbol este un nume de funcție, dezasamblarea se va opri la sfârșitul funcției, altfel se va opri
când se întâlnește următorul simbol. În cazul în care simbol nu se potrivește, nu se va afișa nimic.
Rețineți că dacă opțiunea --dwarf=follow-links este activată, atunci orice tabele de simboluri din
fișierele de informații de depanare legate vor fi citite și utilizate la dezasamblare.
-D
--disassemble-all
La fel ca -d, dar dezasamblează conținutul tuturor secțiunilor non-bss care nu sunt goale, nu doar pe
cele care se așteaptă să conțină instrucțiuni. -j poate fi utilizată pentru a selecta secțiuni
specifice.
Această opțiune are, de asemenea, un efect subtil asupra dezasamblării instrucțiunilor din secțiunile
de cod. Atunci când opțiunea -d este în vigoare, objdump va presupune că orice simboluri prezente
într-o secțiune de cod apar la limita dintre instrucțiuni și va refuza să dezasambleze peste o astfel
de limită. Cu toate acestea, atunci când opțiunea -D este în vigoare, această presupunere este
suprimată. Aceasta înseamnă că este posibil ca rezultatele -d și -D să difere dacă, de exemplu,
datele sunt stocate în secțiunile de cod.
Dacă ținta este o arhitectură ARM, această opțiune are, de asemenea, efectul de a forța
dezasamblatorul să decodifice bucăți de date găsite în secțiunile de cod ca și cum ar fi
instrucțiuni.
Rețineți că dacă opțiunea --dwarf=follow-links este activată, atunci orice tabele de simboluri din
fișierele de informații de depanare legate vor fi citite și utilizate la dezasamblare.
--no-addresses
La dezasamblare, nu imprimă adresele pe fiecare linie sau pentru simboluri și decalaje de realocare.
În combinație cu --no-show-raw-insn acest lucru poate fi util pentru compararea rezultatelor
compilatorului.
--prefix-addresses
La dezasamblare, imprimă adresa completă pe fiecare linie. Acesta este cel mai vechi format de
dezasamblare.
-EB
-EL
--endian={big|little}
Specifică caracterul „endianness” al fișierelor obiect. Acest lucru afectează numai dezasamblarea.
Acest lucru poate fi util atunci când dezasamblați un format de fișier care nu descrie informații
despre „endianness”, cum ar fi înregistrările S.
-f
--file-headers
Afișează informații sumare din antetul general al fiecărui fișier fișier-obiect.
-F
--file-offsets
La dezasamblarea secțiunilor, ori de câte ori se afișează un simbol, se afișează și decalajul de
fișier al regiunii de date care urmează să fie evacuată. În cazul în care sunt omise zerouri, atunci
când se reia dezasamblarea, indică utilizatorului câte zerouri au fost omise și decalajul de fișier
al locației de la care se reia dezasamblarea. Atunci când se descarcă secțiuni, se afișează decalajul
de fișier al locației de la care începe descărcarea.
--file-start-context
Specifică că, atunci când se afișează cod sursă/dezasamblare inter-listă (presupune -S) dintr-un
fișier care nu a fost încă afișat, se extinde contextul la începutul fișierului.
-h
--section-headers
--headers
Afișează informații sumare din antetele secțiunilor din fișierul obiect.
Segmentele de fișier pot fi realocate la adrese non-standard, de exemplu prin utilizarea opțiunilor
-Ttext, -Tdata sau -Tbss la \fBld. Cu toate acestea, unele formate de fișiere obiect, cum ar fi
a.out, nu stochează adresa de pornire a segmentelor de fișier. În aceste situații, deși ld realocă
corect secțiunile, utilizarea objdump -h pentru a lista anteturile secțiunilor fișierului nu poate
afișa adresele corecte. În schimb, se afișează adresele obișnuite, care sunt implicite pentru țintă.
Rețineți că, în unele cazuri, este posibil ca o secțiune să aibă atât atributul READONLY, cât și
atributul NOREAD activate. În astfel de cazuri, atributul NOREAD are prioritate, dar objdump le va
raporta pe ambele, deoarece așezarea exactă a biților de semnalizare poate fi importantă.
-H
--help
Afișează un rezumat al opțiunilor la objdump și iese.
-i
--info
Afișează o listă cu toate arhitecturile și formatele de obiecte disponibile pentru specificare cu -b
sau -m.
-j nume
--section=nume
Afișează informații pentru secțiunea nume. Această opțiune poate fi specificată de mai multe ori.
-L
--process-links
Afișează conținutul secțiunilor care nu sunt de depanare și care se găsesc în fișiere debuginfo
separate care sunt legate de fișierul principal. Această opțiune implică automat opțiunea -WK și vor
fi afișate numai secțiunile solicitate prin alte opțiuni din linia de comandă.
-l
--line-numbers
Etichetează afișarea (utilizând informații de depanare) cu numele fișierului și numerele liniei sursă
corespunzătoare codului obiect sau realocărilor afișate. Utilă numai cu -d, -D sau -r.
-m mașina
--architecture=mașina
Specifică arhitectura care trebuie utilizată la dezasamblarea fișierelor obiect. Această opțiune
poate fi utilă la dezasamblarea fișierelor obiect care nu descriu informații despre arhitectură, cum
ar fi înregistrările S. Puteți lista arhitecturile disponibile cu opțiunea -i.
Pentru majoritatea arhitecturilor este posibil să se furnizeze un nume de arhitectură și un nume de
mașină, separate prin două puncte. De exemplu, foo:bar s-ar referi la tipul de mașină bar în
arhitectura foo. Acest lucru poate fi util dacă objdump a fost configurat pentru a permite mai multe
arhitecturi.
Dacă ținta este o arhitectură ARM, atunci această opțiune are un efect suplimentar. Aceasta
restricționează dezasamblarea doar la instrucțiunile acceptate de arhitectura specificată de mașina.
Dacă este necesară utilizarea acestei opțiuni deoarece fișierul de intrare nu conține informații
despre arhitectură, dar se dorește și dezasamblarea tuturor instrucțiunilor, utilizați -marm.
-M opțiuni
--disassembler-options=opțiuni
Transmite informații specifice țintei către dezasamblator. Compatibilă numai cu unele ținte. Dacă
este necesar să specificați mai multe opțiuni de dezasamblare, atunci pot fi utilizate mai multe
opțiuni -M sau pot fi plasate împreună într-o listă separată prin virgule.
Pentru ARC, dsp controlează imprimarea instrucțiunilor DSP, spfp selectează imprimarea
instrucțiunilor FPX de precizie unică FP, dpfp selectează imprimarea instrucțiunilor FPX de precizie
dublă FP, quarkse_em selectează imprimarea instrucțiunilor speciale QuarkSE-EM, fpuda selectează
imprimarea instrucțiunilor de asistență de precizie dublă, fpus selectează imprimarea instrucțiunilor
FPU de precizie unică FP, în timp ce fpud selectează imprimarea instrucțiunilor FPU de precizie dublă
FP. În plus, se poate opta pentru imprimarea tuturor imediatelor în hexazecimal utilizând hex. În mod
implicit, valorile imediate scurte sunt imprimate utilizând reprezentarea zecimală, în timp ce
valorile imediate lungi sunt imprimate în hexazecimal.
cpu=... permite aplicarea unui anumit ISA la dezasamblarea instrucțiunilor, înlocuind valoarea -m sau
orice se află în fișierul ELF. Acest lucru ar putea fi util pentru a selecta ARC EM sau HS ISA,
deoarece arhitectura este aceeași pentru acestea, iar dezasamblatorul se bazează pe datele private
din antetul ELF pentru a decide dacă codul este pentru EM sau HS. Această opțiune poate fi
specificată de mai multe ori - va fi utilizată doar ultima valoare. Valorile valabile sunt aceleași
ca pentru opțiunea de asamblare -mcpu=....
Dacă ținta este o arhitectură ARM, această opțiune poate fi utilizată pentru a selecta setul de nume
de registre care este utilizat în timpul dezasamblării. Specificarea -M reg-names-std (implicit) va
selecta denumirile registrelor utilizate în documentația setului de instrucțiuni ARM, dar cu
registrul 13 denumit „sp”, registrul 14 denumit „lr” și registrul 15 denumit „pc”. Specificarea -M
reg-names-apcs va selecta setul de nume utilizat de standardul ARM Procedure Call Standard, în timp
ce specificarea -M reg-names-raw va utiliza doar r urmat de numărul registrului.
Există, de asemenea, două variante ale schemei de denumire a registrelor APCS activate prin -M
reg-names-atpcs și -M reg-names-special-atpcs care utilizează convențiile de denumire ARM/Thumb
Procedure Call Standard; (fie cu denumirile registrelor normale, fie cu denumirile registrelor
speciale).
Această opțiune poate fi, de asemenea, utilizată pentru arhitecturile ARM pentru a forța
dezasamblatorul să interpreteze toate instrucțiunile ca instrucțiuni Thumb prin utilizarea opțiunii
--disassembler-options=force-thumb. Acest lucru poate fi util atunci când încercați să dezasamblați
codul thumb produs de alte compilatoare.
Pentru țintele AArch64, această opțiune poate fi utilizată pentru a stabili dacă instrucțiunile sunt
dezasamblate ca cele mai generale instrucțiuni utilizând opțiunea -M no-aliases sau dacă notele de
instrucțiuni ar trebui generate ca comentarii în dezasamblare utilizând opțiunea -M note.
Pentru x86, unele dintre opțiuni dublează funcțiile opțiunii -m, dar permit un control mai fin.
"x86-64"
"i386"
"i8086"
Selectează dezasamblarea pentru arhitectura dată.
"intel"
"att"
Selectează între modul de sintaxă Intel și modul de sintaxă AT&T.
"amd64"
"intel64"
Selectează între AMD64 ISA și Intel64 ISA.
"intel-mnemonic"
"att-mnemonic"
Selectează între modul intel mnemonic și modul AT&T mnemonic. Notă: "intel-mnemonic" implică
"intel" și "att-mnemonic" implică "att".
"addr64"
"addr32"
"addr16"
"data32"
"data16"
Specifică dimensiunea implicită a adresei și dimensiunea operandului. Aceste cinci opțiuni vor fi
anulate dacă "x86-64", "i386" sau "i8086" apar ulterior în șirul de opțiuni.
"suffix"
În modul AT&T și, de asemenea, pentru un set limitat de instrucțiuni în modul Intel, instruiește
dezasamblatorul să imprime un sufix mnemonic chiar și atunci când sufixul ar putea fi dedus din
operanzi sau, pentru anumite instrucțiuni, din valorile implicite ale modului de execuție.
Pentru PowerPC, argumentul -M raw selectează dezasamblarea inserțiilor hardware și nu a
pseudonimelor. De exemplu, veți vedea "rlwinm" în loc de "clrlwi", și "addi" în loc de "li". Toate
argumentele -m pentru gas care selectează un CPU sunt acceptate. Acestea sunt: 403, 405, 440, 464,
476, 601, 603, 604, 620, 7400, 7410, 7450, 7455, 750cl, 821, 850, 860, a2, booke, booke32, cell, com,
e200z2, e200z4, e300, e500, e500mc, e500mc64, e500x2, e5500, e6500, efs, power4, power5, power6,
power7, power8, power9, power10, power11, ppc, ppc32, ppc64, ppc64bridge, ppcps, pwr, pwr2, pwr4,
pwr5, pwr5x, pwr6, pwr7, pwr8, pwr9, pwr10, pwr11, pwrx, titan, vle și future. 32 și 64 modifică
selecția CPU implicită sau una anterioară, dezactivând și, respectiv, activând instrucțiunile pe 64
de biți. În plus, altivec, any, lsp, htm, vsx, spe și spe2 adaugă capacități la o selecție CPU
anterioară sau ulterioară. any va dezasambla orice cod op cunoscut de binutils, dar în cazurile în
care un cod op are două semnificații diferite sau argumente diferite, este posibil să nu vedeți
dezasamblarea așteptată. Dacă dezasamblați fără a oferi o selecție CPU, se va alege o valoare
implicită din informațiile obținute de BFD din anteturile fișierelor obiect, dar rezultatul poate să
nu fie cel așteptat.
Pentru MIPS, această opțiune controlează imprimarea numelor mnemonice ale instrucțiunilor și a
numelor registrelor în instrucțiunile dezasamblate. Se pot specifica mai multe selecții din
următoarele opțiuni ca șir separat prin virgule, iar opțiunile nevalide sunt ignorate:
"no-aliases"
Imprimă instrucțiunea mnemonică „brută” în loc de o pseudo-instrucțiune mnemonică. De exemplu,
imprimă „daddu” sau „or” în loc de „move”, „sll” în loc de„nop”, etc.
"msa"
Dezasamblează instrucțiunile MSA.
"virt"
Dezasamblează instrucțiunile ASE de virtualizare.
"xpa"
Dezasamblează instrucțiunile eXtended Physical Address (XPA) ASE.
"gpr-names=ABI"
Imprimă numele GPR (general-purpose register) în funcție de ABI-ul specificat. În mod implicit,
numele GPR sunt selectate în funcție de ABI-ul binarului dezasamblat.
"fpr-names=ABI"
Imprimă numele FPR (registre în virgulă mobilă), după cum este adecvat pentru ABI-ul specificat.
În mod implicit, sunt imprimate numerele FPR și nu numele.
"cp0-names=ARCH"
Imprimă numele registrelor CP0 (coprocesor de control al sistemului; coprocesor 0) în funcție de
CPU sau arhitectura specificată de ARHITECTURA. În mod implicit, numele registrelor CP0 sunt
selectate în funcție de arhitectura și CPU-ul binarului dezasamblat.
"hwr-names=ARCH"
Imprimă numele HWR (registru hardware, utilizat de instrucțiunea "rdhwr")) în funcție de CPU-ul
sau arhitectura specificate de ARHITECTURA. În mod implicit, numele HWR sunt selectate în funcție
de arhitectura și CPU-ul binarului dezasamblat.
"reg-names=ABI"
Imprimă numele GPR și FPR, după caz, pentru ABI-ul selectat.
"reg-names=ARCH"
Imprimă numele registrelor specifice CPU (registrul CP0 și numele HWR), după caz, pentru CPU-ul
sau arhitectura selectată.
Pentru oricare dintre opțiunile enumerate mai sus, ABI sau ARHITECTURA pot fi specificate ca numeric
pentru a imprima numere în loc de nume, pentru tipurile de registre selectate. Puteți lista valorile
disponibile ale ABI și ARHITECTURA folosind opțiunea --help.
Pentru VAX, puteți specifica adresele de intrare a funcției cu -M entry:0xf00ba. Puteți utiliza acest
lucru de mai multe ori pentru a dezasambla corect fișierele binare VAX care nu conțin tabele de
simboluri (cum ar fi descărcările ROM). În aceste cazuri, masca de intrare a funcției ar fi
decodificată altfel ca instrucțiuni VAX, ceea ce ar duce probabil la dezasamblarea greșită a restului
funcției.
-p
--private-headers
Afișează informații care sunt specifice formatului de fișier obiect. Informațiile exacte care se
afișează depind de formatul fișierului obiect. Pentru unele formate de fișiere obiect, nu se
afișează nicio informație suplimentară.
-P opțiuni
--private=opțiuni
Afișează informații care sunt specifice formatului de fișier obiect. Argumentul opțiuni este o listă
separată prin virgule care depinde de format (listele de opțiuni sunt afișate cu ajutorul lui
„--help”).
Pentru XCOFF, opțiunile disponibile sunt:
"header"
"aout"
"sections"
"syms"
"relocs"
"lineno,"
"loader"
"except"
"typchk"
"traceback"
"toc"
"ldinfo"
Pentru PE, opțiunile disponibile sunt:
"header"
"sections"
Nu toate formatele de obiecte acceptă această opțiune. În special formatul ELF nu o utilizează.
-r
--reloc
Afișează intrările de realocare ale fișierului. Dacă se utilizează cu -d sau -D, realocările sunt
imprimate intercalate cu dezasamblarea.
-R
--dynamic-reloc
Afișează intrările de realocare dinamică ale fișierului. Acest lucru este semnificativ numai pentru
obiectele dinamice, cum ar fi anumite tipuri de biblioteci partajate. Ca și pentru -r, dacă este
utilizată cu -d sau -D, realocările sunt imprimate intercalate cu dezasamblarea.
-s
--full-contents
Afișează conținutul complet al secțiunilor, adesea utilizată în combinație cu -j pentru a solicita
secțiuni specifice. În mod implicit, sunt afișate toate secțiunile non-bss nevide. În mod implicit,
orice secțiune comprimată va fi afișată în forma sa comprimată. Pentru a vedea conținutul într-o
formă decomprimată, adăugați opțiunea -Z la linia de comandă.
-S
--source
Afișează codul sursă intercalat cu dezasamblarea, dacă este posibil. Implică -d.
--show-all-symbols
La dezasamblare, afișează toate simbolurile care corespund unei anumite adrese, nu doar primul.
--source-comment[=txt]
La fel ca opțiunea -S, dar toate liniile de cod sursă sunt afișate cu un prefix txt. De obicei, txt
va fi un șir de comentarii care poate fi utilizat pentru a distinge codul de asamblare de codul
sursă. Dacă txt nu este furnizat, se va utiliza un șir implicit de „# ” (simbolul hash urmat de un
spațiu).
--prefix=prefix
Specifică prefixul de adăugat la rutele absolute atunci când este utilizată cu -S.
--prefix-strip=nivel
Indică câte nume de directoare inițiale trebuie eliminate din rutele absolute integrate „hardwired”.
Nu are niciun efect fără --prefix=prefix.
--show-raw-insn
La dezasamblarea instrucțiunilor, imprimă instrucțiunea în format hexazecimal, precum și în formă
simbolică. Aceasta este valoarea implicită, cu excepția cazului în care se utilizează
--prefix-addresses.
--no-show-raw-insn
La dezasamblarea instrucțiunilor, nu se imprimă octeții instrucțiunii. Aceasta este valoarea
implicită atunci când se utilizează --prefix-addresses.
--insn-width=lățimea
Afișează lățimea de octeți pe o singură linie la dezasamblarea instrucțiunilor.
--visualize-jumps[=color|=extended-color|=off]
Vizualizează salturile care rămân în interiorul unei funcții prin desenarea de grafică ASCII între
adresele de pornire și de destinație. Argumentul opțional =color adaugă culoare la ieșire folosind
culorile simple ale terminalului. Alternativ, argumentul =extended-color va adăuga culoare folosind
culori pe 8 biți, dar acestea ar putea să nu funcționeze pe toate terminalele.
Dacă este necesar să dezactivați opțiunea visualize-jumps după ce aceasta a fost activată anterior,
atunci utilizați visualize-jumps=off.
--disassembler-color=off
--disassembler-color=terminal
--disassembler-color=on|color|colour
--disassembler-color=extened|extended-color|extened-colour
Activează sau dezactivează utilizarea evidențierii color a sintaxei în rezultatul dezasamblării.
Comportamentul implicit este determinat prin intermediul unei opțiuni de configurare în timp.
Rețineți că nu toate arhitecturile acceptă evidențierea colorată a sintaxei și, în funcție de
terminalul utilizat, ieșirea colorată poate să nu fie lizibilă.
Argumentul on adaugă culori folosind culorile simple ale terminalului.
Argumentul terminal face același lucru, dar numai dacă dispozitivul de ieșire este un terminal.
Argumentul extended-color este similar cu argumentul on, dar utilizează culori pe 8 biți. Este
posibil ca acestea să nu lucreze pe toate terminalele.
Argumentul off dezactivează dezasamblarea colorată.
-W[lLiaprmfFsoORtUuTgAckK]
--dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=str-offsets,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index,=addr,=cu_index,=links,=follow-links]
Afișează conținutul secțiunilor de depanare DWARF din fișier, dacă sunt prezente. Secțiunile de
depanare comprimate sunt decomprimate automat (temporar) înainte de a fi afișate. Dacă una sau mai
multe litere sau cuvinte opționale urmează după opțiune, atunci vor fi descărcate numai acele tipuri
de date. Literele și cuvintele se referă la următoarele informații:
"a"
"=abbrev"
Afișează conținutul secțiunii .debug_abbrev.
"A"
"=addr"
Afișează conținutul secțiunii .debug_addr.
"c"
"=cu_index"
Afișează conținutul secțiunilor .debug_cu_index și/sau .debug_tu_index.
"f"
"=frames"
Afișează conținutul brut al unei secțiuni .debug_frame.
"F"
"=frames-interp"
Afișează conținutul interpretat al unei secțiuni .debug_frame.
"g"
"=gdb_index"
Afișează conținutul secțiunilor .gdb_index și/sau .debug_names.
"i"
"=info"
Afișează conținutul secțiunii .debug_info. Notă: ieșirea rezultată din această opțiune poate fi,
de asemenea, restricționată prin utilizarea opțiunilor --dwarf-depth și --dwarf-start.
"k"
"=links"
Afișează conținutul secțiunilor .gnu_debuglink, .gnu_debugaltlink și .debug_sup, în cazul în care
oricare dintre ele este prezentă. Afișează, de asemenea, toate legăturile către fișiere de
obiecte dwarf separate (dwo), dacă acestea sunt specificate prin atributele DW_AT_GNU_dwo_name
sau DW_AT_dwo_name din secțiunea .debug_info.
"K"
"=follow-links"
Afișează conținutul tuturor secțiunilor de depanare selectate care se găsesc în fișiere de
informații de depanare separate și legate. Acest lucru poate avea ca rezultat afișarea mai multor
versiuni ale aceleiași secțiuni de depanare, dacă aceasta există în mai multe fișiere.
În plus, atunci când se afișează atributele DWARF, în cazul în care se găsește un formular care
face trimitere la un fișier de informații de depanare separat, atunci va fi afișat și conținutul
la care se face referire.
Notă - în unele distribuții, această opțiune este activată în mod implicit. Ea poate fi
dezactivată prin intermediul opțiunii de depanare N. Valoarea implicită poate fi aleasă la
configurarea binutils prin intermediul opțiunilor --enable-follow-debug-links=yes sau
--enable-follow-debug-links=no. Dacă acestea nu sunt utilizate, atunci opțiunea implicită este de
a activa urmărirea legăturilor de depanare.
Notă - dacă suportul pentru protocolul debuginfod a fost activat atunci când binutils a fost
construit, atunci această opțiune va include, de asemenea, o încercare de a contacta orice server
debuginfod menționat în variabila de mediu DEBUGINFOD_URLS. Rezolvarea acestei probleme ar putea
dura ceva timp. Acest comportament poate fi dezactivat prin intermediul opțiunii de depanare
=do-not-use-debuginfod.
"N"
"=no-follow-links"
Dezactivează urmărirea legăturilor către fișiere de informații de depanare separate.
"D"
"=use-debuginfod"
Activează contactarea serverelor de depanare în cazul în care este necesar să se urmeze legături
de depanare. Acesta este comportamentul implicit.
"E"
"=do-not-use-debuginfod"
Dezactivează contactarea serverelor de depanare atunci când este necesar să se urmărească
legături de depanare.
"l"
"=rawline"
Afișează conținutul secțiunii .debug_line într-un format brut.
"L"
"=decodedline"
Afișează conținutul interpretat al secțiunii .debug_line.
"m"
"=macro"
Afișează conținutul secțiunilor .debug_macro și/sau .debug_macinfo.
"o"
"=loc"
Afișează conținutul secțiunilor .debug_loc și/sau .debug_loclists.
"O"
"=str-offsets"
Afișează conținutul secțiunii .debug_str_offsets.
"p"
"=pubnames"
Afișează conținutul secțiunilor .debug_pubnames și/sau .debug_gnu_pubnames.
"r"
"=aranges"
Afișează conținutul secțiunii .debug_aranges.
"R"
"=Ranges"
Afișează conținutul secțiunilor .debug_ranges și/sau .debug_rnglists.
"s"
"=str"
Afișează conținutul secțiunilor .debug_str, .debug_line_str și/sau .debug_str_offsets.
"t"
"=pubtype"
Afișează conținutul secțiunilor .debug_pubtypes și/sau .debug_gnu_pubtypes.
"T"
"=trace_aranges"
Afișează conținutul secțiunii .trace_aranges.
"u"
"=trace_abbrev"
Afișează conținutul secțiunii .trace_abbrev.
"U"
"=trace_info"
Afișează conținutul secțiunii .trace_info.
Notă: afișarea conținutului secțiunilor .debug_static_funcs, .debug_static_vars și debug_weaknames nu
este acceptată în prezent.
--dwarf-depth=n
Limitează extragerea secțiunii „.debug_info” la n copii. Acest lucru este util numai cu
--debug-dump=info. Valoarea implicită este de a imprima toate DIE-urile; valoarea specială 0 pentru n
va avea, de asemenea, acest efect.
Cu o valoare diferită de zero pentru n, nu se afișează DIE-uri la niveluri mai mari sau mai adânci
decât n. Intervalul pentru n este bazat pe zero.
--dwarf-start=n
Afișează numai DIE-urile care încep cu DIE numerotate n. Acest lucru este util numai cu
--debug-dump=info.
Dacă este specificată, această opțiune va suprima afișarea oricăror informații de antet și a tuturor
DIE-urilor înainte de DIE numerotate n. Vor fi afișați numai frații și copiii DIE specificați.
Aceasta poate fi utilizată împreună cu --dwarf-depth.
--dwarf-check
Activează verificări suplimentare pentru coerența informațiilor Dwarf.
--ctf[=secțiunea]
Afișează conținutul secțiunii CTF specificate. Secțiunile CTF conțin la rândul lor numeroase
subsecțiuni, toate fiind afișate în ordine.
În mod implicit, afișează numele secțiunii numite .ctf, care este numele emis de ld.
--ctf-parent=membru
În cazul în care secțiunea CTF conține tipuri definite în mod ambiguu, aceasta va consta într-o
arhivă de mai multe dicționare CTF, toate moștenind dintr-un dicționar care conține tipuri
neechivoce. Acest membru se numește în mod implicit .ctf, la fel ca secțiunea care îl conține, dar
este posibil să se schimbe acest nume folosind funcția "ctf_link_set_memb_name_changer" în momentul
realizării legăturii. Atunci când se examinează arhivele CTF care au fost create de un editor de
legături care utilizează funcția de schimbare a numelui pentru a redenumi membrul arhivei părinte, se
poate utiliza --ctf-parent pentru a specifica numele utilizat pentru membrul părinte.
--ctf-parent-section=secțiune
Această opțiune vă permite să alegeți o secțiune complet diferită pentru dicționarul părinte CTF care
conține tipuri neambigue decât pentru dicționarele copil care conțin restul ambiguu. Editorul de
legături nu emite obiecte ELF structurate astfel, dar unii editori de legături de la terți pot emite
astfel de obiecte. De asemenea, este convenabil să inspectați CTF scris ca mai multe fișiere brute
pentru a le compune cu objcopy, care le poate pune în secțiuni ELF diferite, dar nu în membri
diferiți ai unui singur dicționar CTF.
--sframe[=secțiunea]
Afișează conținutul secțiunii SFrame specificate.
În mod implicit, se afișează numele secțiunii numite .sframe, care este numele emis de ld.
-G
--stabs
Afișează conținutul complet al oricărei secțiuni solicitate. Afișează conținutul secțiunilor .stab și
.stab.index și .stab.excl dintr-un fișier ELF. Această opțiune este utilă numai pe sisteme (cum ar fi
Solaris 2.0) în care ".stab" intrările tabelei de simboluri de depanare sunt incluse într-o secțiune
ELF. În majoritatea celorlalte formate de fișiere, intrările din tabelul de simboluri de depanare
sunt intercalate cu simbolurile de legătură și sunt vizibile în ieșirea --syms.
--start-address=adresa
Începe afișarea datelor la adresa specificată. Aceasta afectează ieșirea opțiunilor -d, -r și -s.
--stop-address=adresa
Oprește afișarea datelor la adresa specificată. Aceasta afectează ieșirea opțiunilor -d, -r și -s.
-t
--syms
Afișează intrările din tabelul de simboluri al fișierului. Aceasta este similară cu informațiile
furnizate de programul nm, deși formatul de afișare este diferit. Formatul de ieșire depinde de
formatul fișierului care este descărcat, dar există două tipuri principale. Unul arată astfel:
[ 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
unde numărul din interiorul parantezelor drepte este numărul intrării din tabelul de simboluri,
numărul sec este numărul secțiunii, valoarea fl sunt biții fanionului simbolului, numărul ty este
tipul simbolului, numărul scl este clasa de stocare a simbolului și valoarea nx este numărul de
intrări auxiliare asociate simbolului. Ultimele două câmpuri sunt valoarea simbolului și numele
acestuia.
Celălalt format de ieșire comun, întâlnit de obicei cu fișierele bazate pe ELF, arată astfel:
00000000 l d .bss 00000000 .bss 00000000 g .text 00000000 fred
Aici, primul număr este valoarea simbolului (uneori denumită adresa acestuia). Următorul câmp este de
fapt un set de caractere și spații care indică biții fanionului care sunt activați pe simbol. Aceste
caractere sunt descrise mai jos. Urmează secțiunea cu care este asociat simbolul sau *ABS* dacă
secțiunea este absolută (adică nu este legată de nicio secțiune), sau *UND* dacă secțiunea este
menționată în fișierul care face obiectul descărcării, dar nu este definită acolo.
După numele secțiunii urmează un alt câmp, un număr, care pentru simbolurile comune este alinierea,
iar pentru alte simboluri este dimensiunea. La sfârșit este afișat numele simbolului.
Caracterele fanionului sunt împărțite în 7 grupuri, după cum urmează:
"l"
"g"
"u"
"!" Simbolul este local (l), global (g), global unic (u), nici global, nici local (un spațiu) sau
atât global, cât și local (!). Un simbol poate fi nici local, nici global dintr-o varietate de
motive, de exemplu, pentru că este utilizat pentru depanare, dar este probabil un indiciu al unei
erori dacă este vreodată atât local, cât și global. Simbolurile globale unice sunt o extensie GNU
la setul standard de legături de simboluri ELF. Pentru un astfel de simbol, editorul de legături
dinamice se va asigura că în întregul proces este utilizat un singur simbol cu acest nume și tip.
"w" Simbolul este slab (w) sau forte (un spațiu).
"C" Simbolul denotă un constructor (C) sau un simbol obișnuit (un spațiu).
"W" Simbolul este un avertisment (W) sau un simbol normal (un spațiu). Numele unui simbol de
avertizare este un mesaj care urmează să fie afișat dacă simbolul care urmează simbolului de
avertizare este vreodată menționat.
"I"
"i" Simbolul este o referință indirectă la un alt simbol (I), la o funcție care urmează să fie
evaluată în timpul procesării realocării (i) sau la un simbol normal (un spațiu).
"d"
"D" Simbolul este un simbol de depanare (d) sau un simbol dinamic (D) sau un simbol normal (un
spațiu).
"F"
"f"
"O" Simbolul este numele unei funcții (F) sau al unui fișier (f) sau al unui obiect (O) sau doar un
simbol normal (un spațiu).
-T
--dynamic-syms
Imprimă intrările din tabelul de simboluri dinamice al fișierului. Acest lucru este semnificativ
numai pentru obiectele dinamice, cum ar fi anumite tipuri de biblioteci partajate. Aceasta este
similară cu informațiile furnizate de programul nm atunci când i se dă opțiunea -D (--dynamic).
Formatul de ieșire este similar cu cel produs de opțiunea --syms, cu excepția faptului că înainte de
numele simbolului este inserat un câmp suplimentar, care oferă informații despre versiunea asociată
simbolului. Dacă versiunea este versiunea implicită care urmează să fie utilizată la rezolvarea
referințelor fără versiune „unversioned ” la simbol, atunci este afișată așa cum este, altfel este
pusă între paranteze.
--special-syms
La afișarea simbolurilor, include simbolurile pe care ținta le consideră a fi speciale într-un anumit
fel și care, în mod normal, nu ar fi de interes pentru utilizator.
-U [d|i|l|e|x|h]
--unicode=[default|invalid|locale|escape|hex|highlight]
Controlează afișarea caracterelor multi-octet codificate UTF-8 în șiruri de caractere. În mod
implicit (--unicode=default), acestea nu beneficiază de un tratament special. Opțiunea
--unicode=locale afișează secvența în limba locală curentă, care poate să le suporte sau nu.
Opțiunile --unicode=hex și --unicode=invalid le afișează sub formă de secvențe de octeți
hexazecimali, încadrate fie de paranteze unghiulare, fie de paranteze drepte.
Opțiunea --unicode=escape le afișează ca secvențe de eludare (\uxxxx), iar opțiunea
--unicode=highlight le afișează ca secvențe de eludare evidențiate cu roșu (dacă sunt acceptate de
dispozitivul de ieșire). Culoarea are rolul de a atrage atenția asupra prezenței secvențelor unicode
acolo unde nu ar fi de așteptat.
-V
--version
Afișează numărul versiunii lui objdump și iese.
-x
--all-headers
Afișează toate informațiile de antet disponibile, inclusiv tabelul de simboluri și intrările de
realocare. Utilizarea -x este echivalentă cu specificarea tuturor opțiunilor -a -f -h -p -r -t.
-w
--wide
Formatează unele linii pentru dispozitivele de ieșire care au mai mult de 80 de coloane. De asemenea,
nu trunchează numele simbolurilor atunci când acestea sunt afișate.
-z
--disassemble-zeroes
În mod normal, rezultatul dezasamblării va omite blocurile de zerouri. Această opțiune direcționează
dezasamblatorul să dezasambleze aceste blocuri, la fel ca orice alte date.
-Z
--decompress
Opțiunea -Z este menită să fie utilizată în combinație cu opțiunea -s. Aceasta instruiește objdump să
decomprime orice secțiune comprimată înainte de a afișa conținutul acesteia.
@fișier
Citește opțiunile liniei de comandă din fișier. Opțiunile citite sunt inserate în locul opțiunii
originale @fișier. Dacă fișier nu există sau nu poate fi citit, atunci opțiunea va fi tratată literal
și nu va fi eliminată.
Opțiunile din fișier sunt separate prin spații albe. Un caracter de spațiere poate fi inclus într-o
opțiune prin includerea întregii opțiuni între ghilimele simple sau duble. Orice caracter (inclusiv o
bară oblică inversă) poate fi inclus prin prefixarea caracterului care urmează să fie inclus cu o
bară oblică inversă. fișier poate conține la rândul său opțiuni @fișier suplimentare; orice astfel de
opțiuni vor fi procesate în mod recursiv.
CONSULTAȚI ȘI
nm(1), readelf(1), and the Info entries for binutils.
DREPTURI DE AUTOR
Drepturi de autor © 1991-2025 Free Software Foundation, Inc.
Se acordă permisiunea de a copia, distribui și/sau modifica acest document în conformitate cu termenii
Licenței GNU Free Documentation, versiunea 1.3 sau orice versiune ulterioară publicată de Free Software
Foundation; fără secțiuni invariante, fără texte de copertă și fără texte de contra copertă. O copie a
licenței este inclusă în secțiunea intitulată „GNU Free Documentation License”.
TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o
versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO
RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
ro@lists.sourceforge.net.
binutils-2.44 19 februarie 2025 OBJDUMP(1)