我无法获得Clang构建的优化NDK应用程序的调用堆栈

时间:2017-12-04 01:42:44

标签: android c++ android-ndk clang

我是Pearlabyss的Jeonghun Lee。

我遇到了一个非常难以解决的问题。

我们正在使用NDK r12的Clang 3.8开发一款安卓游戏。

我们从Visual Studio 2015的Native Activity项目开始。

我们正在使用Google Breakpad这是一个崩溃报告工具。

我们的问题是,当我们开启优化时,我们无法获得准确的调用堆栈。

在-O1优化中,我们只能看到崩溃函数的名称。

在-O2优化中,我们无法看到任何函数名称。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

可能通过Logcat中的Massive Logging,您可以知道发生错误的位置。

答案 1 :(得分:0)

如果您拥有来自 logcat 的堆栈跟踪,则可以使用属于NDK的ndk-stack脚本来解析日志中显示的每个地址的行号。该脚本使用了addr2line,因此您可以根据需要手动运行此实用程序。