1

私のコード (Android の PhysicsBox2DExtension で AndEngine を使用するゲーム) がクラッシュし、addr2line を使用するように提案されましたが、その方法がまったくわかりません。おそらく、誰かが私に段階的な指示を与えることができますか?

Windows 7 と Eclipse Indigo を使用しています。Android NDK r8 をダウンロードし、C:\Program Files (x86)\Android NDK\android-ndk-r8 に保存しました。私のプロジェクトは C:\Users\Reese\workspace\TestGFX5 に保存されます。

スタックトレース:

07-06 13:25:27.469: I/DEBUG(19582):          #00  pc 00011f74  /system/lib/libc.so
07-06 13:25:27.473: I/DEBUG(19582):          #01  pc 0001921e  /system/lib/libc.so
07-06 13:25:27.473: I/DEBUG(19582):          #02  pc 00026558  /data/data/com.prattia.webs.testgfx5/lib/libandenginephysicsbox2dextension.so
07-06 13:25:27.473: I/DEBUG(19582):          #03  pc 00013e7c  /data/data/com.prattia.webs.testgfx5/lib/libandenginephysicsbox2dextension.so
07-06 13:25:27.473: I/DEBUG(19582):          #04  pc 00016e34  /system/lib/libdvm.so

それを超えて、私は迷っています。助けてください?

4

1 に答える 1

3

ndk-stack代わりに使用してください。ネイティブ ログ クラッシュをファイルに保存し、log.txt と表示してから使用します。

$NDK_HOME/ndk-stack -sym $PROJECT_HOME/obj/local/armeabi -dump log.txt

もちろん、ネイティブ ライブラリはデバッグ シンボルを使用してコンパイルする必要があります。

ドキュメントから:

「ndk-stack」は、「adb logcat」の出力に表示されるスタック トレースをフィルタリングし、共有ライブラリ内のアドレスを対応する「source-file : line-number」値に置き換えることができるシンプルなツールです。

于 2012-07-07T09:47:13.530 に答える