Skip to main content

Linux - polecenie Unix: nm

Regular Expressions - Linux Tutorial 10 (Może 2024)

Regular Expressions - Linux Tutorial 10 (Może 2024)
Anonim

nm - wyświetla symbole z plików obiektowych

STRESZCZENIE

nm -za|--debug-syms -sol|- tylko -extern -B -DO|--demangle= styl -RE|--dynamiczny -S|- rozmiar czcionki -s|--print-armap -ZA|-o|--print-nazwa pliku -n|-v|--numeric-sort -p|- nie sortuj -r|--reverse-sort - sortuj-sortuj -u|- tylko nieokreślony -t źródło |--radix = źródło -P|--ruchliwość --target = bfdname -fa format |--format = format - tylko zdefiniowane -l|--Numery linii --no-demangle -V|--wersja -X 32_64 --Wsparcie objfile …

OPIS

GNU ANTYLOPAnm wyświetla symbole z plików obiektowych objfile …. Jeśli żadne pliki obiektowe nie są wymienione jako argumenty,nm zakłada plik a.out .

Dla każdego symbolu,nm przedstawia:

*

Wartość symbolu w podstawce wybranej opcjami (patrz poniżej) lub domyślnie w systemie szesnastkowym.

*

Typ symbolu. Używane są co najmniej następujące typy; inne są również zależne od formatu pliku obiektowego. W przypadku małych liter symbol jest lokalny; jeśli wielkie litery, symbol jest globalny (zewnętrzny).

ZA

Wartość symbolu jest bezwzględna i nie zostanie zmieniona przez dalsze łączenie.

b

Symbol znajduje się w sekcji niezainicjalizowanych danych (znany jako BSS).

do

Symbol jest powszechny. Typowe symbole to niezainicjowane dane. Podczas łączenia może pojawić się wiele popularnych symboli o tej samej nazwie. Jeśli symbol jest zdefiniowany w dowolnym miejscu, wspólne symbole są traktowane jako niezdefiniowane odniesienia.

re

Symbol znajduje się w zainicjalizowanej sekcji danych.

sol

Symbol znajduje się w zainicjalizowanej sekcji danych dla małych obiektów. Niektóre formaty plików obiektów pozwalają na bardziej efektywny dostęp do małych obiektów danych, takich jak globalna zmienna int, w przeciwieństwie do dużej globalnej tablicy.

ja

Symbol jest pośrednim odniesieniem do innego symbolu. Jest to GNUrozszerzenie do formatu pliku obiektów a.out, który jest rzadko używany.

N

Symbol jest symbolem debugowania.

R

Symbol znajduje się w sekcji danych tylko do odczytu.

S

Symbol znajduje się w niezainicjowanej sekcji danych dla małych obiektów.

T

Symbol znajduje się w sekcji tekstowej (code).

U

Symbol jest niezdefiniowany.

V

Symbol jest słabym obiektem. Gdy słaby zdefiniowany symbol jest powiązany z normalnie zdefiniowanym symbolem, używany jest normalnie zdefiniowany symbol bez błędu. Gdy słaby niezdefiniowany symbol jest połączony, a symbol nie jest zdefiniowany, wartość słabego symbolu staje się równa zero bez błędu.

W

Symbol jest słabym symbolem, który nie został specjalnie oznaczony jako słaby symbol obiektu. Gdy słaby zdefiniowany symbol jest powiązany z normalnie zdefiniowanym symbolem, używany jest normalnie zdefiniowany symbol bez błędu. Gdy słaby niezdefiniowany symbol jest połączony, a symbol nie jest zdefiniowany, wartość słabego symbolu staje się równa zero bez błędu.

-

Symbol jest symbolem pchnięć w pliku obiektu a.out. W takim przypadku następne drukowane wartości to pchnięcia innych pól, pola deskryptorów i typu pchnięć. Symbole stabs służą do przechowywania informacji dotyczących debugowania.

?

Typ symbolu jest nieznany lub specyficzny format pliku obiektowego.

*

Nazwa symbolu.

OPCJE

Długie i krótkie formy opcji, przedstawione tutaj jako alternatywy, są równoważne.

-ZA

-o

--print-nazwa pliku

Poprzedź każdy symbol nazwą pliku wejściowego (lub elementu archiwum), w którym został znaleziony, zamiast identyfikowania pliku wejściowego tylko raz, przed wszystkimi jego symbolami.

-za

--debug-syms

Wyświetla wszystkie symbole, nawet symbole tylko debuggera; zwykle nie są wymienione.

-B

Taki sam jak--format = bsd (dla kompatybilności z MIPSnm).

-DO

--demangle = styl

Dekodowanie ( demangle ) nazwy symboli niskiego poziomu na nazwy na poziomie użytkownika. Oprócz usunięcia początkowego podkreślenia dodawanego przez system, umożliwia to odczytanie nazw funkcji C ++. Różne kompilatory mają różne style mangowania. Opcjonalny argument stylu demangowania może być użyty do wyboru odpowiedniego stylu rozplątania dla kompilatora.

--no-demangle

Nie demolkuj nazw symboli o niskim poziomie. To jest domyślne.

-RE

--dynamiczny

Wyświetlaj dynamiczne symbole zamiast normalnych symboli. Ma to znaczenie tylko w przypadku obiektów dynamicznych, takich jak niektóre typy bibliotek współużytkowanych.

-fa format

--format = format

Użyj formatu wyjściowego format , które mogą być "bsd", "sysv" lub "posix". Wartością domyślną jest "bsd". Tylko pierwsza postać format jest znaczący; może to być zarówno duże, jak i małe litery.

-sol

- tylko -extern

Wyświetlaj tylko zewnętrzne symbole.

-l

--Numery linii

Dla każdego symbolu użyj informacji o debugowaniu, aby znaleźć nazwę pliku i numer linii. Dla zdefiniowanego symbolu, poszukaj numeru linii adresu symbolu. W przypadku niezdefiniowanego symbolu spójrz na numer wiersza wpisu relokacji, który odnosi się do symbolu. Jeśli można znaleźć informacje o numerze linii, wydrukuj go po drugiej informacji o symbolu.

-n

-v

--numeric-sort

Sortuj symbole numerycznie według adresów, a nie alfabetycznie według ich nazw.

-p

- nie sortuj

Nie przejmuj się sortowaniem symboli w dowolnej kolejności; wydrukuj je w zamówionej kolejności.

-P

--ruchliwość

Użyj standardowego formatu wyjściowego POSIX.2 zamiast domyślnego formatu. Równoważny-f posix.

-S

- rozmiar czcionki

Rozmiar wydruku zdefiniowanych symboli dla formatu wyjściowego "bsd".

-s

--print-armap

Podczas wyświetlania symboli z elementów archiwum należy uwzględnić indeks: mapowanie (przechowywane w archiwum przezar lubranlib) z których moduły zawierają definicje, których nazwy.

-r

--reverse-sort

Odwróć kolejność sortowania (numeryczną lub alfabetyczną); niech ostatni przyjdzie pierwszy.

- sortuj-sortuj

Sortuj symbole według rozmiaru. Rozmiar jest obliczany jako różnica między wartością symbolu a wartością symbolu z następną wyższą wartością. Rozmiar symbolu jest drukowany, a nie wartość.

-t źródło

--radix = źródło

Posługiwać się źródło jako podstawa do drukowania wartości symboli. To musi byćre dla dziesiętnych,o dla ósemkowej, lubx dla heksadecymalnej.

--target = bfdname

Określ format kodu obiektu inny niż domyślny format systemu.

-u

- tylko nieokreślony

Wyświetlaj tylko niezdefiniowane symbole (te zewnętrzne dla każdego pliku obiektu).

- tylko zdefiniowane

Wyświetlaj tylko zdefiniowane symbole dla każdego pliku obiektu.

-V

--wersja

Pokaż numer wersjinm i wyjść.

-X

Ta opcja jest ignorowana ze względu na zgodność z wersją systemu AIXnm. Ma jeden parametr, który musi być ciągiem32_64. Domyślny tryb systemu AIXnm koresponduje z-X 32, który nie jest obsługiwany przez GNUnm.

--Wsparcie

Pokaż podsumowanie opcji donm i wyjść.

ZOBACZ TEŻ

ar (1), objdump (1), ranlib (1) i wpisy Info dla binutils .

Ważny: Użyj mężczyzna dowództwo ( % mężczyzna ), aby zobaczyć, jak polecenie jest używane na danym komputerze.