android linuxカーネルをgzipヘッダーから分割し、解凍しました。ただし、android ndkからobjdumpを実行してファイルをダンプしようとすると、ファイル形式が認識されないというエラーが発生します。
バイナリイメージからシンボルテーブルを取得する方法は誰でも知っています。
私のAndroidデバイスでは、シンボルテーブルを取得するために次のことを行うことができます:cat / proc / kallsyms
android linuxカーネルをgzipヘッダーから分割し、解凍しました。ただし、android ndkからobjdumpを実行してファイルをダンプしようとすると、ファイル形式が認識されないというエラーが発生します。
バイナリイメージからシンボルテーブルを取得する方法は誰でも知っています。
私のAndroidデバイスでは、シンボルテーブルを取得するために次のことを行うことができます:cat / proc / kallsyms
これはAndroidに固有のものではありません。ほとんどの(すべて?)Linuxシステムで発生します。Linuxカーネル(Androidのベース)の起動可能なイメージは、適切なELFバイナリではありません。
# file /boot/vmlinuz-2.6.38.7-desktop-1mnb2
/boot/vmlinuz-2.6.38.7-desktop-1mnb2: Linux kernel x86 boot executable bzImage, version 2.6.38.7-desktop-1mnb2 (thomas@celeste.mandriva.com) #1 SMP Sun, RO-rootFS, root_dev 0x902, swap_dev 0x3, Normal VGA
# nm /boot/vmlinuz-2.6.38.7-desktop-1mnb2
nm: /boot/vmlinuz-2.6.38.7-desktop-1mnb2: File format not recognized
vmlinux
ブート可能イメージは、カーネルELFバイナリを圧縮コンテナにラップし、ブートユーティリティと解凍ユーティリティのセットを追加することによって作成されます。デバッグ用のカーネルイメージが必要な場合。ファイルはあなたが必要とするvmlinux
ものです-しかし、それがAndroidNDKのどこに存在するかはわかりません。
nmを使用してみてください。
$ nm path/to/someobj