2016-06-27 10 views
0

Androidをネイティブレベルでデバッグするのが初めてです。だから、私はそれについていくつかの助けが必要です。いくつかのネイティブライブラリを使用しているアプリがあるとします。時には、アプリケーションがネイティブコードでクラッシュしていて、クラッシュのためにlogcatとtombstoneがあります。しかし、私が他の場所で見ることができるように、私はバックトレース/メモリの場所を誤りのあるコードの正確な行に変換するためのデバッグシンボルが必要です。これらのデバッグシンボルはどこにありますか。私はデバイスのためのROM、デバイス自体、.soファイルのコードを持っています。しかしクラッシュはランダムに発生するため、Javaレベルでデバッグポイントを適用することはできません。だから、どこの人が私にこれらのデバッグシンボル(ROM /電話機内)を見つけることができますか?Androidネイティブクラッシュのデバッグシンボル

答えて

0

デバッグシンボルは、obj/local/<target_arch>/ディレクトリにある.soファイルに配置されます。これらの.soは、apkにパックされているものと同じではありません。前者は、マシンコードとデバッグ情報の両方を持つ完全なバイナリであり、後者は、デプロイメントのために準備された、マシンコードのみを含む、取り除かれたバイナリです。

NDKには、生クラッシュトレースをより有用な表現に変換するのに役立つndk-stackという素晴らしいユーティリティがあります。詳細については、hereを参照してください。

関連する問題