NM
Section: GNU Development Tools (1)
Updated: 2005-08-05
Index
Return to Main Contents
NOME
nm - elenca i simboli dai file oggetto
SINTASSI
nm [-a|--debug-syms] [-g|--extern-only]
[-B] [-C|--demangle[=style]] [-D|--dynamic]
[-S|--print-size] [-s|--print-armap]
[-A|-o|--print-file-name][--special-syms]
[-n|-v|--numeric-sort] [-p|--no-sort]
[-r|--reverse-sort] [--size-sort] [-u|--undefined-only]
[-t radix|--radix=radix] [-P|--portability]
[--target=bfdname] [-fformat|--format=format]
[--defined-only] [-l|--line-numbers] [--no-demangle]
[-V|--version] [-X 32_64] [--help] [objfile...]
DESCRIZIONE
GNU nm elenca i simboli dai file oggetto objfile....
Se come argomento non viene indicato alcun file oggetto, nm prende
il file a.out.
Per ciascun simbolo, nm mostra:
- •
-
Il valore del simbolo, nella base selezionata dalle opzioni (vedere
sotto), o esadecimale per default.
- •
-
Il tipo di simbolo. Sono usati almeno i seguenti tipi; altri sono,
ovviamente, dipendenti dal formato del file oggetto. Se minuscolo, il
simbolo è locale; se maiuscolo il simbolo è globale (esterno).
-
- "A"
-
Il valore del simbolo è assoluto, e non verrà cambiato da ulteriori
collegamenti.
- "B"
-
Il simbolo è nella sezione dati non inizializzata (nota come BSS).
- "C"
-
Il simbolo è comune. I simboli comuni sono dati non inizializzati.
Quando si collegano, simboli multipli comuni possono apparire con lo
stesso nome. Se il simbolo è definito da qualche parte, i simboli comuni
sono trattati come non riferimenti non definiti.
- "D"
-
Il simbolo è nella sezione dati inizializzata.
- "G"
-
Il simbolo è in una sezione dati inizializzata per piccoli oggetti.
Alcuni formati di file oggetto permettono un accesso più efficiente a
piccoli oggetti dati, come una variabile globale intera rispetto a un
grande array globale.
- "I"
-
Il simbolo è un riferimento indiretto a un altro simbolo. Questa è
un'estensione GNU al formato di file oggetto a.out usata
raramente.
- "N"
-
Il simbolo è un simbolo di debugging.
- "R"
-
Il simbolo è in una sezione dati a sola lettura.
- "S"
-
Il simbolo è in una sezione dati per piccoli oggetti non inizializzata.
- "T"
-
Il simbolo è nella sezione testo (codice).
- "U"
-
Il simbolo non è definito.
- "V"
-
Il simbolo è un oggetto debole. Quando un simbolo definito debole è
collegato con un simbolo definito normalmente, il simbolo definito
normale è usato senza errori. Quando un simbolo indefinito debole è
collegato e il simbolo non è definito, il valore del simbolo debole
diviene zero senza alcun errore.
- "W"
-
Il simbolo è un simbolo debole che non è stato classificato
specificatamente come oggetto simbolo debole. Quando un simbolo definito
debole è collegato con un simbolo definito normale, il simbolo definito
normale è usato senza alcun errore.
Quando un simbolo indefinito debole è collegato e il simbolo non è
definito, il valore del simbolo è determinato in una modalità dipendente
dal sistema senza errori. In alcuni sistemi la maiuscola indica che è
stato specificato un valore di default.
- "-"
-
Il simbolo è un simbolo stab in un file oggetto a.out. In questo caso i
successivi valori stampati sono il campo stab altro, il campo stab
desc, e il tipo stab. I simboli stab sono usati per mantenere le
informazioni di debug.
- "?"
-
Il tipo del simbolo è sconosciuto, o specifico del formato del file
oggetto.
-
- •
-
Il nome del simbolo.
OPZIONI
Le opzioni nei formati lungo e corto, qui mostrate come alternative,
sono equivalenti.
- -A
-
- -o
-
- --print-file-name
-
Fa precedere a ciascun simbolo il nome del file input (o membro dell'
archivio) nel quale è stato trovato, invece che identificare il file di
input solo una volta prima di tutti i suoi simboli.
- -a
-
- --debug-syms
-
Mostra tutti i simboli, anche i simboli esclusivi del debugger;
normalmente questi non sono elencati.
- -B
-
Lo stesso che --format=bsd (per compatibilità con MIPS nm).
- -C
-
- --demangle[=style]
-
Decodifica (demangle) i nomi dei simboli di basso livello in nomi
a livello utente. Oltre a rimuovere ogni underscore iniziale aggiunto
dal sistema questo rende leggibili i nomi di funzioni C++ . Differenti
compilatori hanno differenti stili di codifica. L'argomento opzionale
dello stile di decodifica può essere usato per scegliere uno stile
appropriato di decodifica per il proprio compilatore.
- --no-demangle
-
Non decodifica i nomi di simboli di basso livello. Questo è il default.
- -D
-
- --dynamic
-
Mostra i simboli dinamici invece dei simboli normali. Ciò è
significativo solo per gli oggetti dinamici, come certi tipi di librerie
condivise.
- -f format
-
- --format=format
-
Usa il formato di output format, che può essere "bsd",
"sysv", or "posix". The default is "bsd".
Solo il primo carattere di format è significativo; esso può essere
indifferentemente maiuscolo o minuscolo.
- -g
-
- --extern-only
-
Mostra solo i simboli esterni.
- -l
-
- --line-numbers
-
Per ciascun simbolo usa le informazioni di debug per tentare di trovare
un nome file e un numero di linea. Per un simbolo definito cerca il
numero di linea dell'indirizzo del simbolo. Per un simbolo indefinito
cerca il numero di linea di un campo di rilocazione che fa riferimento
al simbolo. Se l'informazione del numero di linea può essere trovata la
stampa dopo l'altra informazione sul simbolo.
- -n
-
- -v
-
- --numeric-sort
-
Ordina i simboli numericamente secondo il loro indirizzo, invece che
alfabeticamente per nome.
- -p
-
- --no-sort
-
Non si preoccupa di ordinare i simboli secondo nessun criterio; li
stampa nell'ordine in cui li trova.
- -P
-
- --portability
-
Usa il formato di output standard POSIX.2 invece del formato di
default. Equivalente a -f posix.
- -S
-
- --print-size
-
Stampa la dimensione, non il valore, dei simboli definiti per il formato
di output "bsd" .
- -s
-
- --print-armap
-
Quando elenca i simboli da membri dell'archivio include l'indice: una
mappatura (memorizzata nell'archivio da ar o ranlib) di
quali moduli contengono definizioni per quali nomi.
- -r
-
- --reverse-sort
-
Inverte il senso dell'ordinamento (sia esso numerico o alfabetico);
mette l'ultimo come primo.
- --size-sort
-
Ordina i simboli per dimensione. La dimensione è conteggiata come
differenza tra il valore del simbolo e il valore del simbolo con il
successivo valore maggiore. Se è usato il formato di output
"bsd" viene stampata la dimensione del simbolo invece
del valore, e per stampare sia dimensione che valore bisogna usare -S .
- --special-syms
-
Mostra simboli che hanno un significato speciale target-specific. Questi
simboli sono normalmente usati dal target per alcuni processamenti
speciali e normalmente non sono di aiuto quando inclusi negli elenchi
simboli normali. Per esempio per i target ARM questa opzione
salterà i simboli di mappatura usati per segnare le transizioni tra
codice ARM , codice THUMB e dati.
- -t radix
-
- --radix=radix
-
Usa radix come base per stampare i valori dei simboli. Deve essere
d per il decimale, o per l'ottale o x per l'
esadecimale.
- --target=bfdname
-
specifica un formato del codice oggetto diverso dal formato di default
del proprio sistema.
- -u
-
- --undefined-only
-
Mostra solo i simboli non definiti (quelli esterni ai file oggetto).
- --defined-only
-
Mostra solo i simboli definiti per ciascun file oggetto.
- -V
-
- --version
-
Mostra il numero di versione di nm ed esce.
- -X
-
Questa opzione è ignorata per compatibilità con la versione AIX
di nm. Essa prende un parametro che deve essere la stringa
32_64. I modi di default di AIX nm corrispondono a
-X 32, che non è supportato da GNU nm.
- --help
-
Mostra un sommario delle opzioni di nm ed esce.
VEDERE ANCHE
ar(1), objdump(1), ranlib(1), e i campi Info
di binutils.
COPYRIGHT
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts. A copy of the license is included in the
section entitled ``GNU Free Documentation License''.
Index
- NOME
-
- SINTASSI
-
- DESCRIZIONE
-
- OPZIONI
-
- VEDERE ANCHE
-
- COPYRIGHT
-
This document was created by
man2html,
using the manual pages.
Time: 23:03:51 GMT, June 17, 2008