Nm - Perintah Linux - Perintah Unix

nm - menampilkan simbol dari file objek

RINGKASAN

nm [ -a | --debug-syms ] [ -g | --extern-only ]
[ -B ] [ -C | --deflangle [= style ]] [ -D | --dynamic ]
[ -S | --ukuran-cetak ] [ -s | --print-armap ]
[ -A | -o | --print-file-name ]
[ -n | -v | --numeric-sort ] [ -p | --no-sort ]
[ -r | --verse-sort ] [ --size-sort ] [ -u | --ditetapkan hanya ]
[ -t radix | --radix = radix ] [ -P | --layanan ]
[ --target = bfdname ] [ -f format | --format = format ]
[ --defined-only ] [ -l | --line-numbers ] [ --no-demangle ]
[ -V | --version ] [ -X 32_64 ] [ --help ] [ objfile ...]

DESKRIPSI

GNU nm daftar simbol dari objfile objek file .... Jika tidak ada file objek yang terdaftar sebagai argumen, nm menganggap file a.out .

Untuk setiap simbol, nm menunjukkan:

*

Nilai simbol, di radix dipilih oleh opsi (lihat di bawah), atau heksadesimal secara default.

*

Jenis simbol. Setidaknya jenis-jenis berikut digunakan; yang lainnya juga tergantung pada format file objek. Jika huruf kecil, lambang itu lokal; jika huruf besar, simbolnya bersifat global (eksternal).

SEBUAH

Nilai simbol adalah mutlak, dan tidak akan diubah oleh tautan lebih lanjut.

B

Simbol berada di bagian data terinisialisasi (dikenal sebagai BSS).

C

Simbol itu umum. Simbol umum adalah data yang tidak diinisialisasi. Saat menautkan, beberapa lambang umum dapat muncul dengan nama yang sama. Jika simbol didefinisikan di mana saja, simbol umum diperlakukan sebagai referensi tidak terdefinisi.

D

Simbol berada di bagian data diinisialisasi.

G

Simbol berada di bagian data diinisialisasi untuk objek kecil. Beberapa format file objek memungkinkan akses yang lebih efisien ke objek data kecil, seperti variabel int global yang bertentangan dengan array global besar.

saya

Simbol adalah referensi tidak langsung ke simbol lain. Ini adalah GNUextension ke format file objek a.out yang jarang digunakan.

N

Simbol itu adalah simbol debugging.

R

Simbol berada di bagian data hanya-baca.

S

Simbol berada di bagian data yang tidak diinisialisasi untuk objek kecil.

T

Simbol berada di bagian teks (kode).

U

Simbol tidak terdefinisi.

V

Simbol adalah objek yang lemah. Ketika simbol didefinisikan lemah terkait dengan simbol yang didefinisikan normal, simbol yang didefinisikan normal digunakan tanpa kesalahan. Ketika simbol yang lemah tidak terdefinisi terhubung dan simbol tidak didefinisikan, nilai simbol yang lemah menjadi nol tanpa kesalahan.

W

Simbol adalah simbol lemah yang belum secara khusus ditandai sebagai simbol objek yang lemah. Ketika simbol didefinisikan lemah terkait dengan simbol yang didefinisikan normal, simbol yang didefinisikan normal digunakan tanpa kesalahan. Ketika simbol yang lemah tidak terdefinisi terhubung dan simbol tidak didefinisikan, nilai simbol yang lemah menjadi nol tanpa kesalahan.

-

Simbol adalah simbol tusukan dalam file objek a.out. Dalam hal ini, nilai berikutnya yang dicetak adalah tusukan bidang lain, bidang tusuk tombak, dan jenis tusukan. Stabs symbols digunakan untuk menyimpan informasi debug.

?

Jenis simbol tidak diketahui, atau format file objek tertentu.

*

Nama simbolnya.

PILIHAN

Pilihan bentuk panjang dan pendek, yang ditampilkan di sini sebagai alternatif, adalah setara.

-SEBUAH

-Hai

--print-file-name

Awali setiap simbol dengan nama file input (atau anggota arsip) di mana ia ditemukan, daripada mengidentifikasi file input hanya sekali, sebelum semua simbolnya.

-Sebuah

--debug-syms

Tampilkan semua simbol, bahkan simbol debugger-only; biasanya ini tidak terdaftar.

-B

Sama seperti --format = bsd (untuk kompatibilitas dengan MIPS nm ).

-C

--membuat [= gaya ]

Decode ( demangle ) nama simbol tingkat rendah ke dalam nama tingkat pengguna. Selain menghapus garis bawah awal yang ditambahkan oleh sistem, ini membuat nama fungsi C ++ dapat dibaca. Kompiler yang berbeda memiliki gaya pengawetan yang berbeda. Argumen gaya demassling opsional dapat digunakan untuk memilih gaya demangling yang sesuai untuk compiler Anda.

--no-demangle

Jangan mencoret-coret nama simbol tingkat rendah. Ini adalah default.

-D

--dinamis

Tampilkan simbol dinamis daripada simbol normal. Ini hanya bermakna untuk objek yang dinamis, seperti beberapa jenis pustaka bersama.

-f format

--format = format

Gunakan format format output, yang dapat berupa "bsd", "sysv", atau "posix". Standarnya adalah "bsd". Hanya karakter pertama dari format yang signifikan; dapat berupa huruf besar atau huruf kecil.

-g

--extern-only

Tampilkan hanya simbol eksternal.

-l

--line-angka

Untuk setiap simbol, gunakan informasi debug untuk mencoba menemukan nama file dan nomor baris. Untuk simbol yang ditentukan, cari nomor baris dari alamat simbol. Untuk simbol yang tidak ditentukan, cari nomor baris entri relokasi yang mengacu pada simbol. Jika informasi nomor baris dapat ditemukan, cetaklah setelah informasi simbol lainnya.

-n

-v

--numeric-sort

Urutkan simbol secara numerik berdasarkan alamatnya, bukan menurut abjad dengan nama mereka.

-p

--no-sort

Jangan repot-repot mengurutkan simbol dalam urutan apa pun; mencetaknya dalam urutan yang ditemui.

-P

--layanan

Gunakan format output standar POSIX.2 sebagai ganti format default. Setara dengan -f posix .

-S

--ukuran-cetak

Ukuran cetak simbol yang ditentukan untuk format output "bsd".

-s

--print-armap

Ketika mencantumkan simbol dari anggota arsip, sertakan indeks: pemetaan (disimpan dalam arsip oleh ar atau ranlib ) yang modulnya berisi definisi untuk nama-nama mana.

-r

--verse-sort

Membalik urutan sortir (apakah numerik atau alfabetik); biarkan yang terakhir datang dulu.

--size-sort

Urutkan simbol berdasarkan ukuran. Ukuran dihitung sebagai perbedaan antara nilai simbol dan nilai simbol dengan nilai berikutnya yang lebih tinggi. Ukuran simbol dicetak, bukan nilainya.

-t radix

--radix = radix

Gunakan radix sebagai radix untuk mencetak nilai simbol. Itu harus d untuk desimal, o untuk oktal, atau x untuk heksadesimal.

--target = bfdname

Tentukan format kode objek selain dari format default sistem Anda.

-u

--ditetapkan hanya

Tampilkan hanya simbol yang tidak terdefinisi (yang eksternal untuk setiap file objek).

--defined-only

Tampilkan hanya simbol yang ditetapkan untuk setiap file objek.

-V

--versi

Tampilkan nomor versi nm dan keluar.

-X

Opsi ini diabaikan untuk kompatibilitas dengan versi AIX dari nm . Diperlukan satu parameter yang harus berupa string 32_64 . Mode default AIX nm sesuai dengan -X32 , yang tidak didukung oleh GNU nm .

--membantu

Tampilkan ringkasan opsi ke nm dan keluar.

LIHAT JUGA

ar (1), objdump (1), ranlib (1), dan entri Info untuk binutils .

Penting: Gunakan perintah man ( % man ) untuk melihat bagaimana perintah digunakan pada komputer khusus Anda.