Este é o comando sh4-linux-gnu-objdump que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
objdump - exibe informações de arquivos de objeto.
SINOPSE
objetodump [-a|--archive-headers]
[-b nome do bfd|--target =nome do bfd]
[-C|--desmanchar[=estilo]]
[-d|--desmontar]
[-D|- desmontar tudo]
[-z|- desmontar-zeros]
[-EB|-A|--endian ={grande | pequeno }]
[-f|--file-headers]
[-F|--file-offsets]
[--file-start-contexto]
[-g|--depuração]
[-e|--depuração-tags]
[-h|--seção-cabeçalhos|--cabeçalhos]
[-i|--informações]
[-j seção|--section =seção]
[-l|--números de linha]
[-S|--fonte]
[-m máquina|--architecture =máquina]
[-M opções|--disassembler-options =opções]
[-p|--cabeçalhos-privados]
[-P opções|--private =opções]
[-r|--reloc]
[-R|--dynamic-reloc]
[-s|--conteúdo completo]
[-W [lLiaprmfFsoRt]|
--anão[= rawline, = decodedline, = info, = abbrev, = pubnames]
[= aranges, = macro, = frames, = frames-interp, = str, = loc]
[= Ranges, = pubtypes, = trace_info, = trace_abbrev]
[= trace_aranges, = gdb_index]
[-G|--apunhala]
[-t|--simas]
[-T|--dynamic-syms]
[-x|--todos os cabeçalhos]
[-w|--ampla]
[--start-address =endereço]
[--stop-address =endereço]
[--prefix-address]
[- [no-] show-raw-insn]
[--adjust-vma =compensar]
[--special-syms]
[--prefix =prefixo]
[--prefix-strip =nível]
[--insn-width =largura]
[-V|--versão]
[-H|--Socorro]
objfile...
DESCRIÇÃO
objdump exibe informações sobre um ou mais arquivos de objeto. As opções controlam o que
informações específicas a serem exibidas. Esta informação é principalmente útil para programadores que
estão trabalhando nas ferramentas de compilação, ao contrário de programadores que querem apenas
programa para compilar e trabalhar.
objfile... são os arquivos objeto a serem examinados. Quando você especifica arquivos, objdump mostra
informações sobre cada um dos arquivos de objetos membros.
OPÇÕES
As formas longa e curta de opções, mostradas aqui como alternativas, são equivalentes. Pelo menos
uma opção da lista -a, -d, -D, -e, -f, -g, -G, -h, -H, -p, -P, -r, -R, -s, -S, -t, -T , -V, -x devemos ser
dado.
-a
--archive-header
Se algum dos objfile os arquivos são arquivos, exibe as informações do cabeçalho do arquivo (em um
formato semelhante a ls -l) Além das informações que você pode listar com ar tv, objdump
-a mostra o formato do arquivo de objeto de cada membro do arquivo.
--adjust-vma =compensar
Ao despejar informações, primeiro adicione compensar para todos os endereços de seção. Isto é
útil se os endereços de seção não corresponderem à tabela de símbolos, que pode
acontecer ao colocar seções em endereços específicos ao usar um formato que não pode
representam endereços de seção, como a.out.
-b nome do bfd
--target =nome do bfd
Especifique que o formato do código-objeto para os arquivos-objeto é nome do bfd. Esta opção pode
não é necessário; objdump pode reconhecer automaticamente muitos formatos.
Por exemplo, nos
objdump -b oasys -m vax -h fu.o
exibe informações resumidas dos cabeçalhos das seções (-h) do fu.o, o que é
explicitamente identificado (-m) como um arquivo de objeto VAX no formato produzido pela Oasys
compiladores. Você pode listar os formatos disponíveis com o -i opção.
-C
--demangle [=estilo]
Decodificar (desmanchar) nomes de símbolo de baixo nível em nomes de nível de usuário. Além de remover qualquer
o sublinhado inicial prefixado pelo sistema, torna os nomes das funções C ++ legíveis.
Compiladores diferentes têm estilos de mutilação diferentes. O estilo de remoção opcional
pode ser usado para escolher um estilo de demangling apropriado para seu compilador.
-g
--depuração
Exibir informações de depuração. Isso tenta analisar o formato de depuração STABS e IEEE
informações armazenadas no arquivo e imprimi-lo usando uma sintaxe C like. Se nenhum de
esses formatos são encontrados, esta opção recai no -W opção de imprimir qualquer DWARF
informações no arquivo.
-e
--depuração-tags
Como -g, mas as informações são geradas em um formato compatível com a ferramenta ctags.
-d
--desmontar
Exibir os mnemônicos do montador para as instruções da máquina de objfile. Este
opção desmonta apenas as seções que se espera que contenham instruções.
-D
- desmontar tudo
Como -d, mas desmonte o conteúdo de todas as seções, não apenas aquelas que devem
contém instruções.
Esta opção também tem um efeito sutil na desmontagem de instruções no código
Seções. Quando opção -d está em vigor objdump assumirá que quaisquer símbolos presentes em
uma seção de código ocorre no limite entre as instruções e se recusará a
desmontar através de tal limite. Quando opção -D está em vigor, no entanto,
a suposição é suprimida. Isso significa que é possível para a saída de -d e -D
para diferir se, por exemplo, os dados são armazenados em seções de código.
Se o alvo for uma arquitetura ARM, essa opção também tem o efeito de forçar o
desmontador para decodificar pedaços de dados encontrados nas seções de código como se fossem
instruções.
--prefix-address
Ao desmontar, imprima o endereço completo em cada linha. Este é o mais velho
formato de desmontagem.
-EB
-A
--endian = {grande | pequeno}
Especifique o endianness dos arquivos de objeto. Isso afeta apenas a desmontagem. Isso pode
ser útil ao desmontar um formato de arquivo que não descreve endianness
informações, como registros S.
-f
--file-headers
Exibir informações resumidas do cabeçalho geral de cada um dos objfile arquivos.
-F
--file-offsets
Ao desmontar seções, sempre que um símbolo for exibido, exiba também o arquivo
deslocamento da região de dados que está prestes a ser despejado. Se zeros estão sendo ignorados,
então, quando a desmontagem for retomada, diga ao usuário quantos zeros foram ignorados e o arquivo
deslocamento do local de onde a desmontagem continua. Ao despejar seções,
exibir o deslocamento do arquivo do local de onde o despejo começa.
--file-start-contexto
Especifique que ao exibir o código-fonte listado / desmontagem (assume -S) a partir de um
arquivo que ainda não foi exibido, estenda o contexto até o início do arquivo.
-h
--seção-cabeçalhos
--cabeçalhos
Exibe informações resumidas dos cabeçalhos de seção do arquivo de objeto.
Os segmentos de arquivo podem ser realocados para endereços não padrão, por exemplo, usando o
-Ttexto, -Tdadosou -Tbs opções para ld. No entanto, alguns formatos de arquivo de objeto, como
a.out, não armazene o endereço inicial dos segmentos de arquivo. Nessas situações,
embora ld realoca as seções corretamente, usando objdump -h listar o arquivo
cabeçalhos de seção não podem mostrar os endereços corretos. Em vez disso, mostra o usual
endereços, que são implícitos para o destino.
-H
--Socorro
Imprima um resumo das opções para objdump e sair.
-i
--informações
Exibir uma lista mostrando todas as arquiteturas e formatos de objetos disponíveis para
especificação com -b or -m.
-j nome
--section =nome
Exibir informações apenas para a seção nome.
-l
--números de linha
Rotule a exibição (usando informações de depuração) com o nome do arquivo e a linha de origem
números correspondentes ao código do objeto ou relocalizações mostradas. Útil apenas com -d, -Dou
-r.
-m máquina
--architecture =máquina
Especifique a arquitetura a ser usada ao desmontar arquivos de objeto. Isso pode ser útil
ao desmontar arquivos de objeto que não descrevem informações de arquitetura, como
como registros S. Você pode listar as arquiteturas disponíveis com o -i opção.
Se o destino for uma arquitetura ARM, essa opção tem um efeito adicional. Isto
restringe a desmontagem apenas às instruções suportadas pela arquitetura
especificado por máquina. Se for necessário usar esta opção porque o arquivo de entrada
não contém nenhuma informação de arquitetura, mas também se deseja desmontar
todas as instruções usam -marm.
-M opções
--disassembler-options =opções
Passe informações específicas do alvo para o desmontador. Suportado apenas em alguns destinos.
Se for necessário especificar mais de uma opção de desmontador, vários -M
as opções podem ser usadas ou colocadas juntas em uma lista separada por vírgulas.
Se o alvo for uma arquitetura ARM, esta opção pode ser usada para selecionar qual
O conjunto de nomes de registro é usado durante o desmontador. Especificando -M reg-nomes-padrão (O
padrão) selecionará os nomes de registro conforme usados no conjunto de instruções do ARM
documentação, mas com registro 13 chamado 'sp', registro 14 chamado 'lr' e registre
15 chamado 'pc'. Especificando -M reg-nomes-apcs irá selecionar o conjunto de nomes usado pelo ARM
Padrão de chamada de procedimento, enquanto especifica -M reg-names-raw vai apenas usar r seguido
pelo número do registro.
Existem também duas variantes no esquema de nomenclatura de registro APCS habilitado por -M regula-
nomes-atpcs e -M reg-nomes-especiais-atpcs que usam a chamada de procedimento ARM / Thumb
Convenções de nomenclatura padrão. (Tanto com os nomes de registro normais ou especiais
nomes de registro).
Esta opção também pode ser usada para arquiteturas ARM para forçar o desmontador a
interpretar todas as instruções como instruções em miniatura usando o botão
--disassembler-options = force-thumb. Isso pode ser útil ao tentar desmontar
código polegar produzido por outros compiladores.
Para o x86, algumas das opções duplicam funções do -m mudar, mas permitir melhor
controle granulado. Várias seleções a seguir podem ser especificadas como uma vírgula
string separada.
"x86-64"
"i386"
"i8086"
Selecione a desmontagem para a arquitetura fornecida.
"intel"
"att"
Selecione entre o modo de sintaxe intel e o modo de sintaxe AT&T.
"amd64"
"intel64"
Selecione entre AMD64 ISA e Intel64 ISA.
"intel-mnemônico"
"att-mnemônico"
Selecione entre o modo mnemônico intel e o modo mnemônico AT&T. Nota: "intel-mnemônico"
implica "intel" e "att-mnemônico" implica "att".
"addr64"
"addr32"
"addr16"
"data32"
"data16"
Especifique o tamanho do endereço padrão e o tamanho do operando. Essas quatro opções serão
substituído se "x86-64", "i386" ou "i8086" aparecer mais tarde na string de opção.
"sufixo"
Quando no modo AT&T, instrui o desmontador a imprimir um sufixo mnemônico mesmo quando
o sufixo pode ser inferido pelos operandos.
Para PowerPC, livro controla a desmontagem das instruções BookE. 32 e 64 selecionar
Desmontagem PowerPC e PowerPC64, respectivamente. e300 seleciona a desmontagem para o
família e300. 440 seleciona a desmontagem para o PowerPC 440. ppcs seleciona desmontagem
para as instruções individuais emparelhadas do PPC750CL.
Para MIPS, esta opção controla a impressão de nomes de mnemônicos de instrução e registro
nomes em instruções desmontadas. Várias seleções entre as seguintes podem ser
especificado como uma string separada por vírgulas e as opções inválidas são ignoradas:
"sem aliases"
Imprima o mnemônico de instrução 'bruto' em vez de algum mnemônico de pseudo-instrução.
Ou seja, imprima 'daddu' ou 'ou' em vez de 'mover', 'sll' em vez de 'nop', etc.
"msa"
Desmonte as instruções MSA.
"virt"
Desmonte as instruções ASE de virtualização.
"xpa"
Desmonte as instruções ASE do endereço físico estendido (XPA).
"gpr-names =ABI "
Imprimir nomes GPR (registro de uso geral) conforme apropriado para o ABI especificado.
Por padrão, os nomes GPR são selecionados de acordo com a ABI do binário sendo
desmontado.
"nomes-fpr =ABI "
Imprime nomes FPR (registrador de ponto flutuante) conforme apropriado para o ABI especificado.
Por padrão, os números FPR são impressos em vez dos nomes.
"cp0-nomes =ARCO"
Imprimir CP0 (coprocessador de controle do sistema; coprocessador 0) nomes de registro como
apropriado para a CPU ou arquitetura especificada por ARCO. Por padrão, CP0
nomes de registro são selecionados de acordo com a arquitetura e CPU do binário
sendo desmontado.
"hwr-names =ARCO"
Imprimir nomes de HWR (registro de hardware, usado pela instrução "rdhwr") como
apropriado para a CPU ou arquitetura especificada por ARCO. Por padrão, nomes HWR
são selecionados de acordo com a arquitetura e CPU do binário sendo
desmontado.
"reg-nomes =ABI "
Imprima os nomes GPR e FPR conforme apropriado para a ABI selecionada.
"reg-nomes =ARCO"
Imprimir nomes de registro específicos da CPU (registro CP0 e nomes HWR) conforme apropriado para
a CPU ou arquitetura selecionada.
Para qualquer uma das opções listadas acima, ABI or ARCO pode ser especificado como numérico Ter
números impressos em vez de nomes, para os tipos de registros selecionados. Você pode listar
os valores disponíveis de ABI e ARCO usando o --Socorro opção.
Para VAX, você pode especificar endereços de entrada de função com -M entrada: 0xf00ba. Você pode usar
isso várias vezes para desmontar adequadamente os arquivos binários VAX que não contêm o símbolo
tabelas (como despejos de ROM). Nestes casos, a máscara de entrada de função seria de outra forma
decodificados como instruções VAX, o que provavelmente levaria o resto da função a ser
desmontado incorretamente.
-p
--cabeçalhos-privados
Imprima informações específicas do formato de arquivo do objeto. A informação exata
impresso depende do formato do arquivo do objeto. Para alguns formatos de arquivo de objeto, não
informações adicionais são impressas.
-P opções
--private =opções
Imprima informações específicas do formato de arquivo do objeto. O argumento opções is
uma lista separada por vírgulas que depende do formato (a lista de opções é exibida
com a ajuda).
Para XCOFF, as opções disponíveis são:
"cabeçalho"
"aout"
"Seções"
"syms"
"relocs"
"lineno,"
"carregador"
"exceto"
"typchk"
"traceback"
"toc"
"ldinfo"
Nem todos os formatos de objeto oferecem suporte a essa opção. Em particular, o formato ELF não usa
.
-r
--reloc
Imprima as entradas de realocação do arquivo. Se usado com -d or -D, as realocações são
impresso intercalado com a desmontagem.
-R
--dynamic-reloc
Imprima as entradas de realocação dinâmica do arquivo. Isso só é significativo para dinâmicas
objetos, como certos tipos de bibliotecas compartilhadas. Quanto a -r, se usado com -d or -D,
as realocações são impressas intercaladas com a desmontagem.
-s
--conteúdo completo
Exibe o conteúdo completo de todas as seções solicitadas. Por padrão, todos não vazios
seções são exibidas.
-S
--fonte
Exibe o código-fonte misturado com desmontagem, se possível. Implica -d.
--prefix =prefixo
Especificar prefixo para adicionar aos caminhos absolutos quando usado com -S.
--prefix-strip =nível
Indique quantos nomes de diretório iniciais remover os caminhos absolutos com fio.
Não tem efeito sem --prefix =prefixo.
--show-raw-insn
Ao desmontar as instruções, imprima a instrução em hexadecimal, bem como em simbólico
Formato. Este é o padrão, exceto quando --prefix-address é usado.
--no-show-raw-insn
Ao desmontar instruções, não imprima os bytes de instrução. Isto é o
padrão quando --prefix-address é usado.
--insn-width =largura
Ecrã largura bytes em uma única linha ao desmontar instruções.
-W [lLiaprmfFsoRt]
--dwarf [= rawline, = decodedline, = info, = abbrev, = pubnames]
--dwarf [= aranges, = macro, = frames, = frames-interp, = str, = loc]
--dwarf [= Ranges, = pubtypes, = trace_info, = trace_abbrev]
--dwarf [= trace_aranges, = gdb_index]
Exibe o conteúdo das seções de depuração no arquivo, se houver alguma. Se um
das letras ou palavras opcionais seguem a mudança, então apenas os dados encontrados naquelas
seções específicas serão despejadas.
Observe que não há opção de uma única letra para exibir o conteúdo das seções de rastreamento ou
.gdb_index.
Nota: a saída do = info opção também pode ser afetada pelas opções
--dwarf-profundidade, --dwarf-start e os votos de - verificação de anão.
--dwarf-depth =n
Limite o despejo da seção ".debug_info" para n crianças. Isso só é útil com
--dwarf = info. O padrão é imprimir todas as DIEs; o valor especial 0 para n também vai
tem esse efeito.
Com um valor diferente de zero para n, DIEs em ou mais profundo do que n os níveis não serão impressos. o
alcance para n é baseado em zero.
--dwarf-start =n
Imprimir apenas MATRIZES começando com a MATRIZ numerada n. Isso só é útil com
--dwarf = info.
Se especificada, esta opção irá suprimir a impressão de qualquer informação de cabeçalho e todos
DIEs antes do DIE numerado n. Apenas irmãos e filhos do DIE especificado irão
ser impresso.
Isso pode ser usado em conjunto com --dwarf-profundidade.
- verificação de anão
Habilite verificações adicionais de consistência de informações de anões.
-G
--apunhala
Exibe o conteúdo completo de todas as seções solicitadas. Exibir o conteúdo do
Seções .stab e .stab.index e .stab.excl de um arquivo ELF. Isso só é útil
em sistemas (como Solaris 2.0) em que as entradas da tabela de símbolos de depuração ".stab" são
transportado em uma seção ELF. Na maioria dos outros formatos de arquivo, a depuração de entradas da tabela de símbolos
são intercalados com símbolos de ligação e são visíveis no --simas saída.
--start-address =endereço
Comece a exibir dados no endereço especificado. Isso afeta a saída do -d, -r
e -s opções.
--stop-address =endereço
Pare de exibir dados no endereço especificado. Isso afeta a saída do -d, -r
e -s opções.
-t
--simas
Imprima as entradas da tabela de símbolos do arquivo. Isso é semelhante à informação
fornecida pelo nm programa, embora o formato de exibição seja diferente. O formato de
a saída depende do formato do arquivo que está sendo despejado, mas existem dois principais
tipos. Um se parece com isto:
[4] (segundo 3) (fl 0x00) (ty 0) (scl 3) (nx 1) 0x00000000 .bss
[6] (seg 1) (fl 0x00) (ty 0) (scl 2) (nx 0) 0x00000000 fred
onde o número dentro dos colchetes é o número da entrada no símbolo
mesa, o seca número é o número da seção, o fl valor são os bits da bandeira do símbolo,
da ty número é o tipo do símbolo, o cl número é a classe de armazenamento do símbolo e
da nx valor é o número de entradas auxiliares associadas ao símbolo. O último
dois campos são o valor do símbolo e seu nome.
O outro formato de saída comum, geralmente visto com arquivos baseados em ELF, tem a seguinte aparência:
00000000 ld .bss 00000000 .bss
00000000 g .texto 00000000 fred
Aqui, o primeiro número é o valor do símbolo (às vezes chamado de endereço).
O próximo campo é na verdade um conjunto de caracteres e espaços que indicam os bits da bandeira
que são definidos no símbolo. Esses personagens são descritos a seguir. O próximo é o
seção com a qual o símbolo está associado ou *ABDÔMEN* se a seção for absoluta (ou seja,
não conectado a nenhuma seção), ou * UND * se a seção é referenciada no arquivo
sendo despejado, mas não definido lá.
Após o nome da seção, vem outro campo, um número, que para símbolos comuns é o
alinhamento e para outro símbolo é o tamanho. Finalmente, o nome do símbolo é exibido.
Os caracteres da bandeira são divididos em 7 grupos da seguinte forma:
"eu"
"g"
"você"
"!" O símbolo é um local (l), global (g), global único (u), nem global nem local
(um espaço) ou global e local (!). Um símbolo não pode ser local ou global
por uma variedade de razões, por exemplo, porque é usado para depuração, mas é
provavelmente uma indicação de um bug se ele for local e global. Exclusivo
símbolos globais são uma extensão GNU para o conjunto padrão de associações de símbolos ELF.
Para tal símbolo, o vinculador dinâmico irá certificar-se de que em todo o processo
há apenas um símbolo em uso com este nome e tipo.
"w" O símbolo é fraco (w) ou forte (um espaço).
"C" O símbolo denota um construtor (C) ou um símbolo comum (um espaço).
"W" O símbolo é um aviso (W) ou um símbolo normal (um espaço). O nome de um símbolo de aviso
é uma mensagem a ser exibida se o símbolo após o símbolo de aviso for alguma vez
referenciado.
"Eu"
"i" O símbolo é uma referência indireta a outro símbolo (I), uma função a ser
avaliado durante o processamento de reloc (i) ou um símbolo normal (um espaço).
"d"
"D" O símbolo é um símbolo de depuração (d) ou um símbolo dinâmico (D) ou um símbolo normal (a
espaço).
"F"
"f"
"O" O símbolo é o nome de uma função (F) ou um arquivo (f) ou um objeto (O) ou apenas um
símbolo normal (um espaço).
-T
--dynamic-syms
Imprima as entradas da tabela de símbolos dinâmicos do arquivo. Isso só é significativo para
objetos dinâmicos, como certos tipos de bibliotecas compartilhadas. Isso é semelhante ao
informações fornecidas pelo nm programa quando dado o -D (--dinâmico) opção.
--special-syms
Ao exibir os símbolos, inclua aqueles que o alvo considera serem especiais em alguns
forma e que normalmente não seria do interesse do usuário.
-V
--versão
Imprima o número da versão de objdump e sair.
-x
--todos os cabeçalhos
Exibir todas as informações de cabeçalho disponíveis, incluindo a tabela de símbolos e realocação
entradas. Usando -x é equivalente a especificar todos os -a -f -h -p -r -t.
-w
--ampla
Formate algumas linhas para dispositivos de saída com mais de 80 colunas. Também não
truncar os nomes dos símbolos quando eles forem exibidos.
-z
- desmontar-zeros
Normalmente, a saída de desmontagem pulará blocos de zeros. Esta opção direciona o
disassembler para desmontar esses blocos, assim como quaisquer outros dados.
@lima
Leia as opções de linha de comando de lima. As opções lidas são inseridas no lugar do
original @lima opção. Se lima não existe ou não pode ser lido, então a opção
será tratado literalmente e não removido.
Opções em lima são separados por espaços em branco. Um caractere de espaço em branco pode ser incluído
em uma opção, colocando toda a opção entre aspas simples ou duplas. Algum
caractere (incluindo uma barra invertida) pode ser incluído prefixando o caractere a ser
incluído com uma barra invertida. o lima pode conter @ adicionaislima opções; algum
essas opções serão processadas recursivamente.
Use sh4-linux-gnu-objdump online usando serviços onworks.net