table of contents
ADDR2LINE(1) | GNU-udviklingsværktøjer | ADDR2LINE(1) |
NAVN¶
addr2line - konverter adresser eller symbol+forskydkning til filnavne og linjenumre
SYNOPSIS¶
addr2line [-a|--addresses]
[-b bfdnavn|--target=bfdnavn]
[-C|--demangle[=style]]
[-r|--no-recurse-limit]
[-R|--recurse-limit]
[-e filnavn|--exe=filnavn]
[-f|--functions] [-s|--basename]
[-i|--inlines]
[-p|--pretty-print]
[-j|--section=navn]
[-H|--help] [-V|--version]
[addr addr ...]
BESKRIVELSE¶
addr2line oversætter adresser eller symbol+forskydning til filnavne og linjenumre. Med en adresse eller symbol+forskydning i en kørbar fil eller en forskydning i en sektion af et relokerbart objekt, så bruges fejlsøgningsinformationen til at udregne hvilket filnavn og linjenummer der er associeret med objektet.
Den kørbare fil eller det relokerbare objekt at bruge angives med tilvalget -e. Standarden er filen a.out. Sektionen i det relokerbare objekt at bruge angives med tilvalget -j.
addr2line har to operationstilstande.
I den første er hexadecimale adresser eller symbol+forskydning angivet på kommandolinjen, og addr2line viser filnavnet og linjenummeret for hver adresse.
I den anden læser addr2line hexadecimale adresser eller symbol+forskydning fra standardind og udskriver filnavnet og linjenummer for hver adresse på standardud. I denne tilstand kan addr2line bruges i en datakanal til at konvertere dynamisk valgte adresser.
Formatet for resultatet er FILENAME:LINENO. Som standard opretter hver adresse en resultatlinje.
To tilvalg kan oprette yderligere linjer før hver FILENAME:LINENO-linje (i den rækkefølge).
Hvis tilvalget - anvendes, så vises en linje med adressen.
Hvis tilvalget -f anvendes, så vises en linje med FUNCTIONNAME.Dette er navnet for funktionen indeholdende adressen.
Et tilvalg kan oprette yderligere linjer efter FILENAME:LINENO-linjen.
Hvis tilvalget -i bruges og koden på den angivne adresse er til stede der på grund af indlejring af komileren, så vises yderligere linjer efterfølgende. En eller to ekstra linjer (hvis tilvalget -f anvendes) vises for hver indlejret funktion.
Alternativt hvis tilvalget -p anvendes så vil hver adresse oprette en enkel, lang linje indeholdende adressen, funktionsnavnet, filnavnet og linjenummeret. Hvis tilvalget -i også er blevet anvendt vil alle indlejrede funktioner blive vist på samme måde, men på adskilte linjer og med præfiks fra teksten (inlined by).
Hvis filnavnet eller funktionsnavet ikke kan bestemmes, så vil addr2line vise to spørgsmålstegn på deres plads. Hvis linjenummeret ikke kan bestemmes, vil addr2line vise 0.
Når symbol+forskydning bruges, så er +forskydning valgfri, undtagen når symbolet er tvetydigt med et hex-nummer. De opslåede symboler kan blive mangled eller umangled, undtaget er at umangled symboler med + ikke er tilladt.
TILVALG¶
De lange og korte former for tilvalg, vist her som alternativer, er ens.
- -a
- --addresses
- Vis adressen før information om funktionsnavnet, fil og linjenummer. Adressen vises med et 0x-præfiks for nem identifikation.
- -b bfdnavn
- --target=bfdnavn
- Angiv at objekkodeformatet for objektfilerne er bfdnavn.
- -C
- --demangle[=stil]
- Afkod (demangle) symbolnavne på lavt niveau til brugerniveaunavne. Udover fjernelse af oprindelig understreg foranstillet af systemet gør det C++-funktionsnavne mere læsevenlige. Forskellige kompilere har forskellig mangling-stil. Det valgfrie demangling-stilargument kan bruges til at vælge en passende demangling-stil for din kompiler.
- -e filnavn
- --exe=filnavn
- Angiv navnet for den kørbare fil hvormed adresser skal oversættes. Standardfilen er a.out.
- -f
- --functions
- Vis funktionsnavne samt fil- og linjenummerinformation.
- -s
- --basenames
- Vis kun grunddelen for hvert filnavn.
- -i
- --inlines
- Hvis adressen tilhører en funktion, der var indlejret, så vil kildeinformationen for alle omslutninger tilbage til omfanget for den første ikkeindlejrede funktion også blive vist. For eksempel, hvis "main" indlejrer "callee1" der indlejrer "callee2" og adressen er fra "callee2", så vil kildeinformationen for "callee1" og "main" også blive vist.
- -j
- --section
- Læs forskydninger relativ til den angivne sektion i stedet for absolutte adresser.
- -p
- --pretty-print
- Gør resultatet mere læsevenligt: hver lokation vises på en linje. Hvis tilvalget i er angivet, linjer for alle omsluttende omfang har præfiks med (inlined by).
- -r
- -R
- --recurse-limit
- --no-recurse-limit
- --recursion-limit
- --no-recursion-limit
- Aktiverer eller deaktiverer en begrænsning på mængden
af rekursion udført under demangling af strenge. Da
mangling-formaterne for navnet tillader et uendeligt niveau af rekursion,
er det muligt at oprette strenge hvis afkodning vil udtømme
mængden af stakplads tilgængelig på
værtsmaskinen, udløsende en hukommelsesfejl.
Begrænsningen forsøger at forhindre dette i at ske ved at
begrænse rekursion til 2048 niveaer af indlejring.
Standarden er at denne begrænsning er aktiveret, men deaktivering af den kan være nødvendig for at demangle stærkt komplicerede navne. Bemærk dog at hvis rekursionsbegrænsningen er deaktiveret, så er stakudtømmelse mulig og alle fejlraporter om sådan en hændelse vil blive afvist.
Tilvalget -r er synonym for tilvalget --no-recurse-limit. Tilvalget -R er et synonym for tilvalget --recurse-limit.
Bemærk at dette tilvalg kun er effektivt, hvis tilvalgene -C eller --demangle er blevet aktiveret.
- @fil
- Læs kommandolinjetilvalg fra fil. Tilvalgene læst
indsættes i stedet for det oprindelige tilvalg @fil. Hvis
fil ikke findes, eller ikke kan læses, så vil
tilvalget blive opfattet bogstaveligt og ikke fjernet.
Tilvalg i fil adskilles af mellemrum. Et mellemrumstegn kan inkluderes i et tilvalg ved at omringe hele tilvalget i enten enkelte eller dobbelte citationstegn. Ethvert tegn (inklusiv en baglæns skråstreg) kan inkluderes ved at præfikse tegnen til inklusion med en baglæns skråstreg). fil kan i sig selv indeholde yderligere @fil-tilvalg; alle sådanne tilvalg vil blive behandlet rekursivt.
SE OGSŶ
Informationsposter for binutils.
OPHAVSRET¶
Ophavsret 1991-2024 Free Software Foundation, Inc.
Der gives tilladelse til at kopiere, distribuere og/eller ændre dette dokument under betingelserne i GNU Free Documentation License, version 1.3 eller enhver nyere version, udgivet af Free Software Foundation; uden invariante afsnit, uden forsidetekster, og uden bagsidetekster. En kopi af licensen er inkluderet i afsnittet »GNU Free Documentation License«.
OVERSÆTTELSE¶
Oversættere af denne manual til dansk Joe Hansen <joedalton2@yahoo.dk>
Denne oversættelse er gratis dokumentation; læs GNU General Public License version 3 eller nyere for ophavsretbetingelser. Der er INGEN ANSVAR.
Hvis du støder på fejl i oversættelsen af denne vejledning, skal du sende en besked til debian-l10n-danish@lists.debian.org.
1. maj 2024 | binutils-2.42.0 |