我的代码(一个在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除此之外,我迷失了方向。帮帮忙好吗?
发布于 2012-07-07 17:47:14
请改用ndk-stack。log.txt说,将您的本地日志崩溃保存在一个文件中,然后使用
$NDK_HOME/ndk-stack -sym $PROJECT_HOME/obj/local/armeabi -dump log.txt当然,您的本地库必须使用debug符号进行编译。
从文档中:
'ndk- stack‘是一个简单的工具,它允许你过滤出现在'adb logcat’输出中的堆栈跟踪,并用相应的"source-file : line-number“值替换共享库中的任何地址。
https://stackoverflow.com/questions/11372977
复制相似问题