Questo è il comando nm che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
nm - elenca i simboli dai file oggetto
SINOSSI
nm [-A|-o|--print-nome-file] [-a|--debug-syms]
[-B|--formato=bsd] [-C|--demaglia[=style]]
[-D|--dinamico] [-fformato|--formato=formato]
[-g|--solo-esterno] [-h|--Aiuto]
[-l|--numeri-riga] [-n|-v|--ordinamento-numerico]
[-P|--portabilità] [-p|--nessun tipo]
[-r|--ordinamento inverso] [-S|--dimensione di stampa]
[-s|--print-armap] [-t radix|--radice=radix]
[-u|--solo-indefinito] [-V|--versione]
[-X 32_64] [--solo-definito] [--no-demanle]
[--collegare Nome] [--dimensione-ordinamento] [--sims-speciali]
[--sintetico] [--bersaglio=bfdname]
[objfile...]
DESCRIZIONE
GNU nm elenca i simboli dai file oggetto objfile.... Se nessun file oggetto è elencato come
argomenti, nm assume il file a. fuori.
Per ogni simbolo, nm mostra:
· Il valore del simbolo, nella radice selezionata dalle opzioni (vedi sotto), o esadecimale da
predefinito.
· Il tipo di simbolo. Vengono utilizzati almeno i seguenti tipi; anche altri sono
a seconda del formato del file oggetto. Se minuscolo, il simbolo è solitamente locale; Se
maiuscolo, il simbolo è globale (esterno). Ci sono però alcuni simboli minuscoli
che vengono mostrati per simboli globali speciali ("u", "v" e "w").
"A" Il valore del simbolo è assoluto e non verrà modificato da ulteriori collegamenti.
"B"
"b" Il simbolo si trova nella sezione dei dati non inizializzati (nota come BSS).
"C" Il simbolo è comune. I simboli comuni sono dati non inizializzati. Quando si collega,
più simboli comuni possono apparire con lo stesso nome. Se il simbolo è definito
ovunque, i simboli comuni vengono trattati come riferimenti non definiti.
"D"
"d" Il simbolo si trova nella sezione dei dati inizializzati.
"G"
"g" Il simbolo si trova in una sezione dati inizializzata per piccoli oggetti. Alcuni file oggetto
i formati consentono un accesso più efficiente a piccoli oggetti di dati, come un int global
variabile rispetto a un grande array globale.
"i" Per i file in formato PE indica che il simbolo si trova in una sezione specifica del
implementazione di DLL. Per i file in formato ELF questo indica che il simbolo è un
funzione indiretta. Questa è un'estensione GNU al set standard di simboli ELF
tipi. Indica un simbolo che se referenziato da un trasloco non lo fa
valutare al suo indirizzo, ma invece deve essere invocato in fase di esecuzione. Il tempo di esecuzione
l'esecuzione restituirà quindi il valore da utilizzare nel trasferimento.
"I" Il simbolo è un riferimento indiretto a un altro simbolo.
"N" Il simbolo è un simbolo di debug.
"p" I simboli si trovano in una sezione di svolgimento dello stack.
"R"
"r" Il simbolo si trova in una sezione dati di sola lettura.
"S"
"s" Il simbolo si trova in una sezione dati non inizializzata per piccoli oggetti.
"T"
"t" Il simbolo si trova nella sezione di testo (codice).
"U" Il simbolo non è definito.
"u" Il simbolo è un simbolo globale univoco. Questa è un'estensione GNU del set standard
di associazioni di simboli ELF. Per un tale simbolo il linker dinamico farà in modo che
nell'intero processo c'è un solo simbolo con questo nome e tipo in uso.
"V"
"v" Il simbolo è un oggetto debole. Quando un simbolo definito debole è collegato a un normale
simbolo definito, il simbolo definito normale viene utilizzato senza errori. Quando un debole
il simbolo indefinito è collegato e il simbolo non è definito, il valore dei deboli
il simbolo diventa zero senza errori. Su alcuni sistemi, le maiuscole indicano che a
è stato specificato il valore predefinito.
"W"
"w" Il simbolo è un simbolo debole che non è stato specificamente etichettato come oggetto debole
simbolo. Quando un simbolo definito debole è collegato a un simbolo definito normale, il
il simbolo definito normale viene utilizzato senza errori. Quando un simbolo debole e indefinito è
collegato e il simbolo non è definito, il valore del simbolo è determinato in a
modo specifico del sistema senza errori. Su alcuni sistemi, le maiuscole indicano che a
è stato specificato il valore predefinito.
"-" Il simbolo è un simbolo stabs in un file oggetto a.out. In questo caso, il prossimo
i valori stampati sono il campo stab altro, il campo stab desc e il tipo stab.
I simboli Stabs vengono utilizzati per contenere le informazioni di debug.
"?" Il tipo di simbolo è sconosciuto o il formato del file oggetto è specifico.
· Il nome del simbolo.
VERSIONI
Le forme lunghe e corte delle opzioni, mostrate qui come alternative, sono equivalenti.
-A
-o
--print-nome-file
Precedere ogni simbolo con il nome del file di input (o membro dell'archivio) in cui si trovava
trovato, invece di identificare il file di input una sola volta, prima di tutti i suoi simboli.
-a
--debug-syms
Visualizza tutti i simboli, anche i simboli solo del debugger; normalmente questi non sono elencati.
-B Lo stesso di --formato=bsd (per compatibilità con il MIPS nm).
-C
--demanle[=style]
Decodifica (smantellare) nomi di simboli di basso livello in nomi di livello utente. Oltre a rimuovere qualsiasi
carattere di sottolineatura iniziale anteposto dal sistema, questo rende leggibili i nomi delle funzioni C++.
Diversi compilatori hanno diversi stili di manipolazione. Lo stile scomponibile opzionale
L'argomento può essere usato per scegliere uno stile di smantellamento appropriato per il tuo compilatore.
--no-demanle
Non manipolare i nomi dei simboli di basso livello. Questa è l'impostazione predefinita.
-D
--dinamico
Visualizza i simboli dinamici anziché i simboli normali. Questo è solo significativo
per oggetti dinamici, come alcuni tipi di librerie condivise.
-f formato
--formato=formato
Usa il formato di output formato, che può essere "bsd", "sysv" o "posix". L'impostazione predefinita è
"bsd". Solo il primo carattere di formato è significativo; può essere superiore o
minuscolo.
-g
--solo-esterno
Visualizza solo simboli esterni.
-h
--Aiuto
Mostra un riepilogo delle opzioni per nm e uscita.
-l
--numeri-riga
Per ogni simbolo, usa le informazioni di debug per cercare di trovare un nome file e un numero di riga.
Per un simbolo definito, cercare il numero di riga dell'indirizzo del simbolo. Per un
simbolo indefinito, cercare il numero di riga di una voce di rilocazione che si riferisce al
simbolo. Se è possibile trovare le informazioni sul numero di riga, stamparle dopo l'altro simbolo
informazioni.
-n
-v
--ordinamento-numerico
Ordina i simboli numericamente per i loro indirizzi, piuttosto che alfabeticamente per loro
nomi.
-p
--nessun tipo
Non preoccuparti di ordinare i simboli in nessun ordine; stamparli nell'ordine incontrato.
-P
--portabilità
Utilizzare il formato di output standard POSIX.2 invece del formato predefinito. Equivalente a
-f posix.
-r
--ordinamento inverso
Invertire l'ordine di ordinamento (se numerico o alfabetico); lascia che venga l'ultimo
prima.
-S
--dimensione di stampa
Stampa sia il valore che la dimensione dei simboli definiti per lo stile di output "bsd". Questa opzione
non ha effetto per i formati oggetto che non registrano le dimensioni dei simboli, a meno che --dimensione-ordinamento
viene utilizzato anche nel qual caso viene visualizzata una dimensione calcolata.
-s
--print-armap
Quando si elencano i simboli dai membri dell'archivio, includere l'indice: una mappatura (memorizzata nel
archivio di ar or ranlib) di cui moduli contengono definizioni per quali nomi.
-t radix
--radice=radix
Usa il radix come radice per la stampa dei valori dei simboli. Deve essere d per decimale, o
per ottale, o x per esadecimale.
-u
--solo-indefinito
Visualizza solo i simboli non definiti (quelli esterni a ciascun file oggetto).
-V
--versione
Mostra il numero di versione di nm e uscita.
-X Questa opzione viene ignorata per compatibilità con la versione AIX di nm. ci vuole uno
parametro che deve essere la stringa 32_64. La modalità predefinita di AIX nm corrisponde
-X 32, che non è supportato da GNU nm.
--solo-definito
Visualizza solo i simboli definiti per ogni file oggetto.
--collegare Nome
Carica il plugin chiamato Nome per aggiungere supporto per tipi di target aggiuntivi. Questa opzione è
disponibile solo se la toolchain è stata creata con il supporto plugin abilitato.
--dimensione-ordinamento
Ordina i simboli per dimensione. La dimensione è calcolata come la differenza tra il valore di
simbolo e il valore del simbolo con il valore immediatamente superiore. Se l'uscita "bsd"
viene utilizzato il formato viene stampata la dimensione del simbolo, anziché il valore, e -S devono obbligatoriamente:
essere utilizzato per stampare sia la dimensione che il valore.
--sims-speciali
Simboli di visualizzazione che hanno un significato speciale specifico del target. Questi simboli sono
solitamente utilizzati dal target per alcune elaborazioni speciali e normalmente non sono utili
quando inclusi nelle normali liste di simboli. Ad esempio per gli obiettivi ARM questa opzione
salterebbe i simboli di mappatura utilizzati per contrassegnare le transizioni tra codice ARM, codice THUMB
e dati.
--sintetico
Includere simboli sintetici nell'output. Questi sono simboli speciali creati da
linker per vari scopi. Non vengono mostrati per impostazione predefinita poiché non fanno parte di
il codice sorgente originale del binario.
--bersaglio=bfdname
Specificare un formato del codice oggetto diverso dal formato predefinito del sistema.
@filetto
Leggi le opzioni della riga di comando da filetto. Le opzioni lette vengono inserite al posto di
originale @filetto opzione. Se filetto non esiste o non può essere letto, allora l'opzione
saranno trattati letteralmente e non rimossi.
opzioni in filetto sono separati da spazi bianchi. Può essere incluso un carattere di spazio bianco
in un'opzione racchiudendo l'intera opzione tra virgolette singole o doppie. Qualunque
carattere (inclusa una barra rovesciata) può essere incluso anteponendo il carattere a essere
incluso con una barra rovesciata. Il filetto può contenere a sua volta @ aggiuntivifiletto opzioni; qualunque
tali opzioni verranno elaborate in modo ricorsivo.
Utilizza nm online utilizzando i servizi onworks.net