【问题标题】:How do I use addr2line for Android?如何在 Android 上使用 addr2line?
【发布时间】:2012-07-07 13:09:51
【问题描述】:

我的代码(在 Android 上使用 AndEngine 和 PhysicsBox2DExtension 的游戏)崩溃了,有人建议我使用 addr2line,但我完全不知道该怎么做,而且我看过的许多“教程”非常出色模糊的。也许有人可以给我一步一步的指示?

我使用的是 Windows 7 和 Eclipse Indigo。我已经下载了 Android NDK r8 并将其保存到 C:\Program Files (x86)\Android NDK\android-ndk-r8。我的项目保存到 C:\Users\Reese\workspace\TestGFX5。

堆栈跟踪:

07-06 13:25:27.469: I/DEBUG(19582):          #00  pc 00011f74  /system/lib/libc.so
07-06 13:25:27.473: I/DEBUG(19582):          #01  pc 0001921e  /system/lib/libc.so
07-06 13:25:27.473: I/DEBUG(19582):          #02  pc 00026558  /data/data/com.prattia.webs.testgfx5/lib/libandenginephysicsbox2dextension.so
07-06 13:25:27.473: I/DEBUG(19582):          #03  pc 00013e7c  /data/data/com.prattia.webs.testgfx5/lib/libandenginephysicsbox2dextension.so
07-06 13:25:27.473: I/DEBUG(19582):          #04  pc 00016e34  /system/lib/libdvm.so

除此之外,我迷路了。请帮忙?

【问题讨论】:

    标签: android crash andengine addr2line


    【解决方案1】:

    请改用ndk-stack。将您的本机日志崩溃保存在一个文件中,例如 log.txt,然后使用

    $NDK_HOME/ndk-stack -sym $PROJECT_HOME/obj/local/armeabi -dump log.txt
    

    当然,您的本地库必须使用调试符号进行编译。

    来自文档:

    'ndk-stack' 是一个简单的工具,可让您将堆栈跟踪过滤为 它们出现在“adb logcat”的输出中,并替换 a 具有相应“源文件:行号”值的共享库。

    猜你喜欢
    • 2011-07-15
    • 2019-06-16
    • 2011-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-25
    • 2019-05-30
    • 2016-03-01
    相关资源
    最近更新 更多