Android下使用objdump查看导出的函数表

Android下为了查看so的导出函数,有两种方法。

nm -D ffmpeg.so objdump -tT ffmpeg.so

这里推荐第二种方法, 因为遇到问题相对好查,nm在google里稍难匹配到你要的意思。

下面试使用objdump后, 每一行和每一列的数据的意义:

ibcrypto.so: file format elf32-littlearm

SYMBOL TABLE:

00000000 l df *ABS* 00000000 crtbegin_so.c

0003cd20 l F .text 00000010 __on_dlclose

0003cd34 l F .text 00000004 __on_dlclose_late

0000018c l .note.android.ident 00000000 ndk_build_number

0000014c l .note.android.ident 00000000 ndk_version

00000134 l O .note.android.ident 00000098 note_android_ident

COLUMN ONE: the symbol's value

COLUMN TWO: a set of characters and spaces indicating the flag bits that are set on the symbol. There are seven groupings which are listed below:

group one: (l,g,,!) local, global, neither, both.

group two: (w,) weak or strong symbol.

group three: (C,) symbol denotes a constructor or an ordinary symbol.

group four: (W,) symbol is warning or normal symbol.

group five: (I,) indirect reference to another symbol or normal symbol.

group six: (d,D,) debugging symbol, dynamic symbol or normal symbol.

group seven: (F,f,O,) symbol is the name of function, file, object or normal symbol.

COLUMN THREE: the section in which the symbol lives, ABS means not associated with a certain section

COLUMN FOUR: the symbol's size or alignment.

COLUMN FIVE: the symbol's name.

If you want additional information try you man page ;-) or the following links: http://manpages.ubuntu.com/manpages/intrepid/man1/objdump.1.html and http://sourceware.org/binutils/docs/binutils/objdump.html

转自:https://stackoverflow.com/questions/6666805/what-does-each-column-of-objdumps-symbol-table-mean

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券