我为arm64-v8a
创建了基于原生的预建lib。我在运行时崩溃了,我喜欢在崩溃日志上运行ndk-stack
(就像我为armeabi-v7a
lib所做的那样),但现在ndk-stack
返回错误消息
无法识别文件格式
未能显示回溯迹。
为ndk-stack
文件运行arm64-v8a
的正确方法是什么?
谢谢,
答案 0 :(得分:1)
请注意,对于-sym
选项-sym $PROJECT_PATH/obj/local/armeabi-v7a
,您需要正确指定符号文件,例如正确匹配ABI,对于arm64-v8a
,它应该类似于-sym $PROJECT_PATH/obj/local/arm64-v8a
在此处查看官方使用文档: https://developer.android.com/ndk/guides/ndk-stack
有两种使用该工具的方法。您可以将logcat文本作为直接输入提供给程序。例如:
adb logcat | $NDK/ndk-stack -sym $PROJECT_PATH/obj/local/armeabi-v7a
您也可以使用-dump选项将logcat指定为输入文件。例如:
adb logcat > /tmp/foo.txt $NDK/ndk-stack -sym $PROJECT_PATH/obj/local/armeabi-v7a -dump foo.txt
开始解析logcat输出时,该工具会查找星号的第一行。例如:
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***