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.