Provided by: manpages-it_4.23.1-1_all bug

NOME

       addr2line - converte indirizzi o simbolo+offset in nomi di file e numeri di riga

SINTASSI

       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 ...]

DESCRIZIONE

       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.

OPZIONI

       Le opzioni nei formati lungo e corto, qui mostrate come alternative, sono equivalenti.

       -a
       --addresses
           Mostra l'indirizzo prima delle informazioni su nome di funzione, file e numero di
           riga. L'indirizzo è stampato con un prefisso 0x per essere identificato facilmente.

       -b bfdname
       --target=bfdname
           Specifica che il formato object-code per i file oggetto è bfdname.

       -C
       --demangle[=style]
           Decodifica (demangle) nomi di simboli a basso livello in nomi a livello utente. Oltre
           a rimuovere ogni trattino basso iniziale aggiunto dal sistema, questo rende i nomi di
           funzione C++ leggibili. Differenti compilatori hanno differenti stili di «mangling»
           (alterazione). L'argomento opzionale di stile di «demangling» può essere usato per
           scegliere uno stile di «demangling» appropriato per il proprio compilatore.

       -e filename
       --exe=filename
           Specifica il nome dell'eseguibile per il quale gli indirizzi devono essere tradotti.
           Il file predefinito è a.out.

       -f
       --functions
           Visualizza informazioni su nomi di funzioni e anche su file e numeri di riga.

       -s
       --basenames
           Visuallizza solo la base di ciascun nome di file.

       -i
       --inlines
           Se l'indirizzo appartiene a una funzione sottoposta a inlining, verrano stampate anche
           le informazioni sul codice sorgente per tutte le espansioni inluse fino alla prima
           funzione non sottoposta a espanzione inline. Per esempio, se "main" espande "callee1"
           che espande "callee2", e l'indirizzo proviene da "callee2", verranno stampate anche le
           informazioni per "callee1" e "main".

       -j
       --section
           Legge gli offset relativi alla sezione specificata anziché gli indirizzi assoluti.

       -p
       --pretty-print
           Rende l'output più leggibile: ogni posizione è stampata su una riga. Se è specificata
           l'opzione -i, le righe for all enclosing scopes sono precedute dal prefisso (inlined
           by).

       -r
       -R
       --recurse-limit
       --no-recurse-limit
       --recursion-limit
       --no-recursion-limit
           Abilitata o disabilita il limite della ricorsione effettuata durante la decodifica
           («demangling») delle stringhe. Poiché i formati di «mangling» permettono un livello
           infinito di ricorsione è possibile creare stringhe la cui decodifica riempirebbe lo
           stack disponibile  sulla macchina, generando un problema di accesso alla memoria. Il
           limite cerca di evitare questa situazione, restringendo la ricorsione ad un massimo di
           2048 livelli.

           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.

       @file
           Legge le opzioni da riga di comando da file. Le opzioni lette sono inserite al posto
           dell'opzione originale @file. Se file non esiste o non può essere letto, l'opzione
           sarà trattata letteralmente, e non rimossa.

           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.

VEDERE ANCHE

       I campi Info per binutils.

COPYRIGHT

       Copyright (c) 1991-2024 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).

TRADUZIONE

       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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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⟩.