2016-11-26 4 views
1

私はAndroidスタジオでネイティブコードをデバッグしようとしています。 私のデバッガは、単純なhello worldのjniコードで正常に動作します。 しかし、共有ライブラリlibcrypto.soとlibccmssl.soにリンクされているコードで同じことをしようとすると、ネイティブコードにステップインすることができません。ネイティブコードにステップインできません - Android

上記の観察が重要であるかどうかはわかりません。しかし、私は次にどこを探検するか分からない。ライブラリーをロードする際、私は次の(添付イメージ)SIGILLを取得しています。その後、continueを押すとコードが実行され、ネイティブ関数が呼び出され、値が返されますが、デバッガーはネイティブコードにステップインしません。私がいただければ幸いでどうあるべきか

enter image description here

任意のポインタは、あなたが私は今、週以来アンドロイドスタジオと外部のC++プロジェクトの作業を取得しようとして絞り込むしようとしている

答えて

1

ありがとう理由 - 私にとって

「私はネイティブコードにステップすることはできませんよ、なぜ」>問題は、私はそれを削除LOCAL_CPPFLAGS で「-gstabs +」フラグの存在だった - >ビルド - >とイェーイ

次のフラグ説明されている:(それがサポートされている場合) https://gcc.gnu.org/onlinedocs/gcc-3.3.6/gcc/Debugging-Options.html

が-gstabs + は、GNUデバッガ(GDB)によって理解GNU拡張を使用して、スタブ形式でデバッグ情報を生成します。 これらの拡張機能を使用すると、他のデバッガをクラッシュさせたり、プログラムの読み込みを拒否したりする可能性があります。

注:私が質問に投稿した上記のSIGILL画像は、依然として存続していますが、デバッガがそれを踏まない原因ではありませんでした。

関連する問題