প্রতীক তালিকার জন্য আদর্শ সরঞ্জামটি হ'ল nm
, আপনি এটিকে সহজভাবে ব্যবহার করতে পারেন:
nm -gD yourLib.so
আপনি যদি কোনও সি ++ লাইব্রেরির প্রতীক দেখতে চান তবে "-C" বিকল্পটি যুক্ত করুন যা প্রতীকগুলি ডিমেংল করে (এটি আরও বেশি পঠনযোগ্য ডিমেংলড)।
nm -gDC yourLib.so
যদি আপনার .so ফাইলটি এলফ ফর্ম্যাটে থাকে তবে আপনার কাছে দুটি বিকল্প রয়েছে:
হয় objdump
( -C
সি ++ ডিমেংলিংয়ের জন্যও কার্যকর):
$ objdump -TC libz.so
libz.so: file format elf64-x86-64
DYNAMIC SYMBOL TABLE:
0000000000002010 l d .init 0000000000000000 .init
0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 free
0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 __errno_location
0000000000000000 w D *UND* 0000000000000000 _ITM_deregisterTMCloneTable
বা ব্যবহার করুন readelf
:
$ readelf -Ws libz.so
Symbol table '.dynsym' contains 112 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
1: 0000000000002010 0 SECTION LOCAL DEFAULT 10
2: 0000000000000000 0 FUNC GLOBAL DEFAULT UND free@GLIBC_2.2.5 (14)
3: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __errno_location@GLIBC_2.2.5 (14)
4: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable
nm
কিছু বিকল্প যেমন,-D
এবং-g
(আইআইআরসি) তে সাড়া দেয় না ।