Ndk-stack-trace工具无法在Windows上运行

时间:2013-03-15 19:09:35

标签: android android-ndk stack-trace

我在Windows上执行NDK堆栈跟踪工具时遇到问题。 可能是一个非常愚蠢的错误,所以这就是我的尝试:

...\android-ndk-r8d\ndk-stack.exe -sym ".../JNITest/obj/local/x86/" -dump ".../crash.txt"

我收到的消息如下:

********** Crash dump: **********
...

Stack frame #00  eip: 30303030: Unable to open symbol file .../JNITest/obj/local/x86//☺. Error (123): Unknown error

所以这个文件夹中有一个.so文件,应该包含符号(顺便说一下:如何判断是否属于这种情况?)

2 个答案:

答案 0 :(得分:1)

使用ndk-build构建本机库时,它会创建一个包含所有调试信息的.so文件,通常位于<proj>/obj/local/armeabi目录中,之后安装通过剥离调试符号将文件存入<proj>/lib/armeabi。后者被打包到APK中。

上面的

armeabi 最常用,因为大多数Android设备都使用ARM CPU。您的帖子引用了 x86 子目录。你真的在这个项目中使用了英特尔驱动的设备吗?您是否为x86构建了本机库?如果你这样做,你能在<proj>\obj\local\x86目录中找到这个文件吗?

答案 1 :(得分:0)

在Windows 7上使用64位的Android NDK第9版时,我遇到了同样的ndk-stack.exe崩溃。更新到较新的NDK版本,版本9c,64位,问题就消失了。显然是NDK早期版本中的一个错误。

格雷格