nm - Listensymbole aus Objektdateien
ZUSAMMENFASSUNG
nm -ein|--debug-syms -G|- nur -extern -B -C|- demangle= Stil -D|--dynamisch -S|--Druckgröße -s|--print-armap -EIN|-O|--print-Dateiname -n|-v|--numeric-sort -p|--nicht sortieren -r|--umgekehrte Sortierung --size-sort -u|--undefiniert-nur -t Radix |--radix = Radix -P|--Portabilität --target = bfdname -f Format |--format = Format - nur definiert -l|--Linien Nummern - no-demangle -V|--Ausführung -X 32_64 --Hilfe objfile …
GNUnm listet die Symbole aus Objektdateien auf objfile …. Wenn keine Objektdateien als Argumente aufgeführt sind,nm nimmt die Datei an a.out . Für jedes Symbolnm zeigt an: * Der Symbolwert in der durch Optionen ausgewählten Radix (siehe unten) oder standardmäßig hexadezimal. * Der Symboltyp. Zumindest die folgenden Typen werden verwendet; Andere hängen ebenfalls vom Objektdateiformat ab. Bei Kleinbuchstaben ist das Symbol lokal. Bei Großbuchstaben ist das Symbol global (extern). EIN Der Wert des Symbols ist absolut und wird durch weitere Verknüpfung nicht geändert. B Das Symbol befindet sich im Bereich der nicht initialisierten Daten (BSS). C Das Symbol ist üblich. Übliche Symbole sind nicht initialisierte Daten. Beim Verknüpfen können mehrere allgemeine Symbole mit demselben Namen angezeigt werden. Wenn das Symbol an einer beliebigen Stelle definiert ist, werden die allgemeinen Symbole als undefinierte Verweise behandelt. D Das Symbol befindet sich im initialisierten Datenbereich. G Das Symbol befindet sich in einem initialisierten Datenabschnitt für kleine Objekte. Einige Objektdateiformate ermöglichen einen effizienteren Zugriff auf kleine Datenobjekte, z. B. eine globale int-Variable im Gegensatz zu einem großen globalen Array. ich Das Symbol ist ein indirekter Verweis auf ein anderes Symbol. Dies ist eine GNU-Erweiterung auf das a.out-Objektdateiformat, das selten verwendet wird. N Das Symbol ist ein Debugging-Symbol. R Das Symbol befindet sich in einem schreibgeschützten Datenabschnitt. S Das Symbol befindet sich in einem nicht initialisierten Datenbereich für kleine Objekte. T Das Symbol befindet sich im Abschnitt Text (Code). U Das Symbol ist undefiniert. V Ein Symbol ist ein schwaches Objekt. Wenn ein schwach definiertes Symbol mit einem normal definierten Symbol verknüpft wird, wird das normal definierte Symbol fehlerfrei verwendet. Wenn ein schwaches undefiniertes Symbol verknüpft ist und das Symbol nicht definiert ist, wird der Wert des schwachen Symbols ohne Fehler zu Null. W Das Symbol ist ein schwaches Symbol, das nicht speziell als schwaches Objektsymbol gekennzeichnet wurde. Wenn ein schwach definiertes Symbol mit einem normal definierten Symbol verknüpft wird, wird das normal definierte Symbol fehlerfrei verwendet. Wenn ein schwaches undefiniertes Symbol verknüpft ist und das Symbol nicht definiert ist, wird der Wert des schwachen Symbols ohne Fehler zu Null. - Das Symbol ist ein Stub-Symbol in einer a.out-Objektdatei. In diesem Fall werden als nächste Werte die anderen Felder, das Abwärtsfeld und der Stichtyp gedruckt. Stabs-Symbole werden zum Speichern von Debugging-Informationen verwendet. ? Der Symboltyp ist unbekannt oder das Format der Objektdatei ist spezifisch. * Der Symbolname Die Lang- und Kurzformen der Optionen, hier als Alternativen dargestellt, sind gleichwertig. -EIN -O --print-Dateiname Stellen Sie jedem Symbol den Namen der Eingabedatei (oder des Archivmitglieds) voran, in der es gefunden wurde, anstatt die Eingabedatei nur einmal vor allen Symbolen zu identifizieren. -ein --debug-syms Alle Symbole anzeigen, auch nur Debugger-Symbole. Normalerweise sind diese nicht aufgeführt. -B Das Gleiche wie--format = bsd (zur Kompatibilität mit dem MIPSnm). -C --demangle = Stil Decodieren ( demangle ) Low-Level-Symbolnamen in Namen auf Benutzerebene. Dadurch werden nicht nur anfängliche Unterstriche des Systems entfernt, sondern auch die Namen der C ++ - Funktionen lesbar. Verschiedene Compiler haben unterschiedliche Mangle-Stile. Mit dem optionalen Entgleisungsstil-Argument kann ein geeigneter Entgleisungsstil für Ihren Compiler ausgewählt werden. - no-demangle Niedrige Symbolnamen nicht demangeln. Dies ist die Standardeinstellung. -D --dynamisch Zeigen Sie die dynamischen Symbole anstelle der normalen Symbole an. Dies ist nur für dynamische Objekte von Bedeutung, z. B. für bestimmte Typen von gemeinsam genutzten Bibliotheken. -f Format --format = Format Verwenden Sie das Ausgabeformat Format , was "bsd", "sysv" oder "posix" sein kann. Der Standardwert ist "bsd". Nur das erste Zeichen von Format ist wichtig; Es kann entweder Groß- oder Kleinschreibung sein. -G - nur -extern Nur externe Symbole anzeigen. -l --Linien Nummern Verwenden Sie für jedes Symbol Debugging-Informationen, um einen Dateinamen und eine Zeilennummer zu finden. Suchen Sie nach einem definierten Symbol nach der Zeilennummer der Adresse des Symbols. Suchen Sie für ein undefiniertes Symbol nach der Zeilennummer eines Umsatzeintrags, der auf das Symbol verweist. Wenn Zeilennummerninformationen gefunden werden können, drucken Sie sie nach den anderen Symbolinformationen. -n -v --numeric-sort Sortieren Sie Symbole numerisch nach ihren Adressen und nicht alphabetisch nach Namen. -p --nicht sortieren Bemühen Sie sich nicht, die Symbole in beliebiger Reihenfolge zu sortieren. Drucken Sie sie in der Reihenfolge, in der Sie sie gefunden haben. -P --Portabilität Verwenden Sie anstelle des Standardformats das POSIX.2-Standardausgabeformat. Gleichwertig-f posix. -S --Druckgröße Druckgröße definierter Symbole für das Ausgabeformat "bsd". -s --print-armap Fügen Sie beim Auflisten von Symbolen von Archivmitgliedern den Index ein: eine Zuordnung (im Archiv gespeichert durch)ar oderRanlib) welche Module Definitionen für welche Namen enthalten. -r --umgekehrte Sortierung Die Reihenfolge der Sortierung umkehren (numerisch oder alphabetisch); Lass das Letzte zuerst kommen. --size-sort Symbole nach Größe sortieren. Die Größe wird als Differenz zwischen dem Wert des Symbols und dem Wert des Symbols mit dem nächst höheren Wert berechnet. Die Größe des Symbols wird anstelle des Werts gedruckt. -t Radix --radix = Radix Benutzen Radix als Basis für das Drucken der Symbolwerte. Es muss seind für dezimal,O für oktal oderx für hexadezimal. --target = bfdname Geben Sie ein anderes Objektcode-Format als das Standardformat Ihres Systems an. -u --undefiniert-nur Nur undefinierte Symbole anzeigen (die außerhalb jeder Objektdatei). - nur definiert Zeigt nur definierte Symbole für jede Objektdatei an. -V --Ausführung Zeigt die Versionsnummer von annm und verlassen. -X Diese Option wird aus Gründen der Kompatibilität mit der AIX-Version von ignoriertnm. Es braucht einen Parameter, der die Zeichenfolge sein muss32_64. Der Standardmodus von AIXnm entspricht-X 32, was von GNU nicht unterstützt wirdnm. --Hilfe Zeigen Sie eine Zusammenfassung der Optionen annm und verlassen. ar (1), objdump (1), Ranlib (1) und die Info-Einträge für Binutils . Wichtig: Verwenden Sie die Mann Befehl ( % Mann ), um zu sehen, wie ein Befehl auf Ihrem Computer verwendet wird. BESCHREIBUNG
OPTIONEN
SIEHE AUCH