هل هناك أي طريقة لمعرفة الرموز التي يتم تصديرها في ملف كائن؟
-
18-09-2019 - |
سؤال
مرحبا، أنا أعمل في بيئة Linux، وعلي الارتباط بملف كائن تم تجميعها بالفعل والتي تقدم لي بعض الخدمات (Services.o) وأنا أعلم بعضهم، لكن أود أن أعرف ما هي جميعها تصديرها رموز ذلك.
هل هناك أي طريقة لإنجاز هذا عدم وجود المصادر؟ إذا كان الأمر كذلك، كيف؟
شكرا جزيلا.
المحلول
يحاول nm
- هذه الأداة موجودة لهذا الغرض فقط.
نصائح أخرى
خيار آخر هو objdump
والتي يمكن أن تظهر لك مجموعة من الأشياء الأخرى
أو يمكنك استخدام readelf -s
, هذا يوفر معلومات تفصيلية أكثر.
Symbol table '.symtab' contains 19 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
1: 0000000000000000 0 FILE LOCAL DEFAULT ABS a.c
2: 0000000000000000 0 SECTION LOCAL DEFAULT 1
3: 0000000000000000 0 SECTION LOCAL DEFAULT 3
4: 0000000000000000 0 SECTION LOCAL DEFAULT 4
5: 0000000000000000 0 SECTION LOCAL DEFAULT 5
6: 0000000000000000 0 SECTION LOCAL DEFAULT 7
7: 0000000000000000 0 SECTION LOCAL DEFAULT 8
8: 0000000000000000 0 SECTION LOCAL DEFAULT 9
9: 0000000000000000 0 SECTION LOCAL DEFAULT 11
10: 0000000000000000 0 SECTION LOCAL DEFAULT 12
11: 0000000000000000 0 SECTION LOCAL DEFAULT 14
12: 0000000000000000 0 SECTION LOCAL DEFAULT 16
13: 0000000000000000 0 SECTION LOCAL DEFAULT 17
14: 0000000000000000 0 SECTION LOCAL DEFAULT 15
15: 0000000000000000 71 FUNC GLOBAL DEFAULT 1 fa_global
16: 0000000000000000 4 OBJECT GLOBAL DEFAULT 4 a
17: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND fb_ex
18: 0000000000000050 17 FUNC GLOBAL DEFAULT 1 test
لا تنتمي إلى StackOverflow