| ADDR2LINE(1) | Strumenti di sviluppo GNU | ADDR2LINE(1) |
addr2line - converte indirizzi o simbolo+offset in nomi di file e numeri di riga
addr2line [-a|--addresses]
[-b bfdname|--target=bfdname]
[-C|--demangle[=style]]
[-r|--no-recurse-limit]
[-R|--recurse-limit]
[-e filename|--exe=filename]
[-f|--functions] [-s|--basename]
[-i|--inlines]
[-p|--pretty-print]
[-j|--section=name]
[-H|--help] [-V|--version]
[addr addr ...]
addr2line traduce indirizzi o simboli+offset in nomi di file e numeri di riga. Dato un indirizzo o un simbolo+offset in un eseguibile o un offset in una sezione di un oggetto rilocabile, esso usa l'informazione di debugging per capire quale nome di file e numero di riga sono associati e un dato indirizzo.
L'eseguibile o l'oggetto rilocabile da usare è specificato con l'opzione -e. Quello predefinito è il file a.out. La sezione nell'oggetto rilocabile da usare è specificata con l'opzione -j.
addr2line ha due modalità operative.
Nella prima, indirizzi esadecimali o simbolo+offset sono indicati sulla riga di comando, e addr2line mostra il nome del file e il numero di riga per ciascun indirizzo.
Nella seconda, addr2line legge indirizzi esadecimali o simbolo+offset dallo standard input, e stampa nome file e numero di riga per ciascun indirizzo sullo standard output. In questa modalità addr2line può essere usato in una pipe per convertire indirizzi scelti dinamicamente.
Il formato dell'output è NOMEFILE:NUMERORIGA. Come comportamento predefinito, ogni indirizzo in input genera una riga di output.
Due opzioni possono generare ulteriori righe prima di ogni riga NOMEFILE:NUMERORIGA (in quest'ordine).
Se è usata l'opzione -a viene mostrata una riga con l'indirizzo in input.
Se è usata l'opzione -f, viene mostrata una riga con il NOMEFUNZIONE, che è il nome della funzione contenente l'indirizzo.
Un'opzione può generare ulteriori righe dopo la riga NOMEFILE:NUMERORIGA.
Se è usata l'opzione -i e il codice al dato indirizzo è presente lì a causa dell'inlining eseguito dal compilatore, ulteriori righe verranno mostrate dopo. Una o due righe supplementari (se è usata l'opzione -f) sono mostrate per ogni funzione sottoposta a inlining.
In alternativa, se è usata l'opzione -p, ogni indirizzo di input genera su un'unica lunga riga di output contenente l'indirizzo, il nome della funzione, il nome del file e il numero di riga. Se è stata usata anche l'opzione -i ogni funzione sottoposta a inlining verrà mostrata nello stesso modo, ma su righe separate, con aggiunto il prefisso (inlined by).
Se nome file o nome funzione non possono essere determinati, addr2line stamperà due punti interrogativi al loro posto. Se il numero di riga non può essere determinato, addr2line stamperà 0.
Quando viene usato simbolo+offset, +offset è opzionale eccetto quando il simbolo è interpretabile come numero esadecimale. Il simbolo può essere «mangled» (alterato) o «unmangled», eccetto che quelli «mangled» con il + non sono permessi.
Le opzioni nei formati lungo e corto, qui mostrate come alternative, sono equivalenti.
Il comportamento predefinito è di avere il limite abilitato, ma disabilitarlo potrebbe essere necessario per decodificare nomi veramente complessi. Notare che se il limite di ricorsione viene disabilitato allora è possibile saturare lo stack, e qualsiasi segnalazione di bug su questa situazione verrà rigettata.
L'opzione -r è un sinonimo dell'opzione --no-recurse-limit. L'opzione -R è un sinonimo dell'opzione --recurse-limit.
Si noti che questa opzione ha effetto solo se è stata abilitata l'opzione --demangle.
Le opzioni in file sono separate da spazi vuoti. Si può includere uno spazio vuoto in un'opzione racchiudendo l'intera opzione fra apici, singoli o doppi. Può essere incluso qualsiasi carattere (compresa la barra inversa) facendo precedere al carattere una barra inversa. Il file può esso stesso contenere ulteriori opzioni @file; ciascuna di queste opzioni sarà elaborata ricorsivamente.
I campi Info per binutils.
Copyright (c) 1991-2025 Free Software Foundation, Inc.
È permesso copiare, distribuire e/o modificare questo documento nei termini della “Licenza per documentazione libera GNU” (GNU Free Documentation License), versione 1.3 o ogni versione successiva pubblicata dalla Free Software Foundation; senza sezioni non modificabili, senza testi di prima di copertina e di quarta di copertina. Una copia della licenza è inclusa nella sezione intitolata “Licenza per la documentazione libera GNU" (GNU Free Documentation License).
La traduzione italiana di questa pagina di manuale è stata creata da Giulio Daprelà <giulio@pluto.it>, Marco Curreli <marcocurreli@tiscali.it> e Giuseppe Sacco <eppesuig@debian.org>
Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 o successiva per le condizioni di copyright. Non ci assumiamo alcuna responsabilità.
Per segnalare errori nella traduzione di questa pagina di manuale inviare un messaggio a pluto-ildp@lists.pluto.it.
| 3 marzo 2025 | binutils-2.44 |