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

December 17, 2023
测试
测试
测试
测试
5 分钟阅读

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

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多