除非您使用模擬器或固定電話,否則您將無法讀取邏輯刪除文件。 Logcat在調試級別打印出墓碑(這是在「複製墓碑」消息之前的大型核心轉儲)。應該有一個看起來像這樣的部分:
01-18 16:28:04.334 16759 16759 I DEBUG : scr 80000012
01-18 16:28:04.334 16759 16759 I DEBUG :
01-18 16:28:04.384 16759 16759 I DEBUG : #00 pc 00007f84 /data/data/com.myapp/lib/myjnilib.so
01-18 16:28:04.384 16759 16759 I DEBUG : #01 pc 00008f80 /data/data/com.myapp/lib/myjnilib.so
01-18 16:28:04.394 16759 16759 I DEBUG : #02 pc 00002c6a /data/data/com.myapp/lib/myjnilib.so
01-18 16:28:04.394 16759 16759 I DEBUG : #03 pc 00002ea8 /data/data/com.myapp/lib/myjnilib.so
01-18 16:28:04.394 16759 16759 I DEBUG : #04 pc 00003178 /data/data/com.myapp/lib/myjnilib.so
01-18 16:28:04.394 16759 16759 I DEBUG : #05 pc 00011e74 /system/lib/libdvm.so
...
這是縮寫堆棧跟蹤。您需要使用NDK中的addr2line工具來確定這些十六進制地址引用的函數,文件和行號。在我的OSX系統的命令來獲取堆棧跟蹤的第一行是這樣的:
/opt/android-ndk-r7/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86/bin/arm-linux-androideabi-addr2line -f -e myJNIproject/obj/local/armeabi/myjnilib.so 0x00007f84
其中myJNIproject/OBJ /本地/ armeabi/myjnilib.so是myjnilib.so的版本包含行號信息。
回答任何人? – Androider