こんばんは。Android アプリケーションで問題が発生しています。私は浮き沈みのある C ライブラリ (libcurl と JNI インターフェースからの私の C ファイル) を構築して使用してきましたが、今日までは順風満帆でした。課せられた微積分。
基本的に、libcurl を使用して一連の URL 呼び出しを行い、その結果を分析しています。ときどき、LogCat は次のようなメッセージを表示します (つまらない行をいくつか省略しました)。
11-26 15:47:04.930: I/DEBUG(4492): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
11-26 15:47:04.930: I/DEBUG(4492): Build fingerprint: 'samsung/GT-I9100P/GT-I9100P:2.3.6/GINGERBREAD/BVKL2:user/release-keys'
11-26 15:47:04.935: I/DEBUG(4492): pid: 9556, tid: 9568 >>> XX.XX.XX <<<
11-26 15:47:04.935: I/DEBUG(4492): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000034
11-26 15:47:04.935: I/DEBUG(4492): r0 00000000 r1 47378718 r2 00000000 r3 00000000
11-26 15:47:04.935: I/DEBUG(4492): r4 0000002c r5 afd41544 r6 47523008 r7 00000000
11-26 15:47:04.935: I/DEBUG(4492): r8 00010000 r9 0000002f 10 473787b4 fp 47378710
11-26 15:47:04.935: I/DEBUG(4492): ip 47378698 sp 473786d0 lr afd17b77 pc afd2ea7e cpsr 40000030
11-26 15:47:04.935: I/DEBUG(4492): d0 0000000200000009 d1 3ff8000000000000
11-26 15:47:05.080: I/DEBUG(4492): #00 pc 0002ea7e /system/lib/libc.so
11-26 15:47:05.080: I/DEBUG(4492): #01 pc 0002f456 /system/lib/libc.so
11-26 15:47:05.080: I/DEBUG(4492): #02 pc 00030974 /system/lib/libc.so
11-26 15:47:05.080: I/DEBUG(4492): code around pc:
11-26 15:47:05.080: I/DEBUG(4492): afd2ea5c f8c40504 e69351c8 050268a0 9b03d417
11-26 15:47:05.085: I/DEBUG(4492): afd2ea6c 98039a05 eb071899 463a0309 fcfaf7ff
11-26 15:47:05.085: I/DEBUG(4492): code around lr:
11-26 15:47:05.085: I/DEBUG(4492): afd17b54 2074f5a0 0301f10a 7010f5a0 bfc89303
11-26 15:47:05.085: I/DEBUG(4492): afd17b64 462a9004 46314638 f8cd464b f7f38000
11-26 15:47:05.085: I/DEBUG(4492): stack:
11-26 15:47:05.085: I/DEBUG(4492): 47378690 47378718
11-26 15:47:05.085: I/DEBUG(4492): 47378694 00000030
11-26 15:47:05.085: I/DEBUG(4492): 47378698 473786a4
11-26 15:47:05.085: I/DEBUG(4492): 4737869c 00000000
11-26 15:47:05.085: I/DEBUG(4492): 473786a0 00000000
これは非常に一般的な問題であることを理解しており、問題の特定を試みています。libcは私が実装した共有ライブラリの一部ではなく、一般的なライブラリの一部であるため、 ndk-stackツールの使用方法がわかりません。
参照された .so ファイルが私のものであれば非常に簡単ですが、どうしてこのようなエラーがポップアップするのでしょうか? これをどのようにデバッグできるかについて何か考えがあれば、大歓迎です!