0

Android アプリケーションがネイティブ コードでクラッシュし、何のメッセージも表示されません。ある時、コードを調べたところ、メモリが不足していることが問題であることがわかりました。今回はコードを調べても何も表示されません。そのような場合の一般的なアプローチはありますか?問題にどのようにアプローチすればよいですか?「0xdeadbad の無効なアドレス」でクラッシュすることもあれば、(NDK) スタック トレースを出力することもありますが、どうすればよいかわかりません。

4

2 に答える 2

1

Android で addr2line を使用する方法を参照してください- 回答は、クラッシュ スタック トレースをどのように理解するかを説明しています。

于 2012-09-20T00:27:42.383 に答える
1

バグを見つけるためにコードを読むことに頼らないでください。決して機能しません。実際には正常なコードを変更することになり、バグが増えるだけです...

ndk-gdbを使用するSEGFAULTと、ブレークポイントなしでネイティブのような基本的な問題をキャッチできます。デバッグ シンボルを使用してバイナリをコンパイルする必要があります。ndk の最新リリース以降、すべての手順が本当に簡単になっていることを願っています。

于 2012-09-20T03:32:33.923 に答える