例子:
1. 每次发布后,保留 frameworks\runtime-src\proj.android\obj\local\armeabi\lib***.so
这个 so 是带调试信息的
2. logcat 抓到宕机的文件保存为 a.txt
3. ndk-stack -sym libcocos2dlua.so -dump a1.txt 可以查看宕机的数据
********** Crash dump: **********
Build fingerprint: 'samsung/t0ltezm/t0ltecmcc:4.2.2/JDQ39/N7108DZMUANL1:user/release-keys'
pid: 27149, tid: 27445, name: Thread-13953 >>> com.zzy.bigdevil <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000020
Stack frame 08-11 18:59:30.372 194 194 I DEBUG : #00 pc 003362ca /data/app-lib/com.zzy.bigdevil-
1/libcocos2dlua.so (cocostudio::Armature::init(std::string const&)+209)
Stack frame 08-11 18:59:30.372 194 194 I DEBUG : #01 pc 007bb7ff /data/app-lib/com.zzy.bigdevil-
1/libcocos2dlua.so (__aeabi_uidivmod+6)
Crash dump is completed
4. arm-linux-androideabi-addr2line.exe 可以查看报错的行
C:\Users\zxujie>C:\android-ndk-r10d\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\bin\arm-linux-
androideabi-addr2line.exe -e libcocos2dlua.so -a 003362ca
0x003362ca
/Users/Shared/cocos_publish/bigdevil/program/frameworks/runtime-src/proj.android/../../cocos2d-x/cocos//editor-
support/cocostudio/CCArmature.cpp:142
查找闪退,保留几个版本的 proj.android\obj\local\armeabi\libcocos2dlua.so 是比较必要的
参考:
1. 每次发布后,保留 frameworks\runtime-src\proj.android\obj\local\armeabi\lib***.so
这个 so 是带调试信息的
2. logcat 抓到宕机的文件保存为 a.txt
3. ndk-stack -sym libcocos2dlua.so -dump a1.txt 可以查看宕机的数据
********** Crash dump: **********
Build fingerprint: 'samsung/t0ltezm/t0ltecmcc:4.2.2/JDQ39/N7108DZMUANL1:user/release-keys'
pid: 27149, tid: 27445, name: Thread-13953 >>> com.zzy.bigdevil <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000020
Stack frame 08-11 18:59:30.372 194 194 I DEBUG : #00 pc 003362ca /data/app-lib/com.zzy.bigdevil-
1/libcocos2dlua.so (cocostudio::Armature::init(std::string const&)+209)
Stack frame 08-11 18:59:30.372 194 194 I DEBUG : #01 pc 007bb7ff /data/app-lib/com.zzy.bigdevil-
1/libcocos2dlua.so (__aeabi_uidivmod+6)
Crash dump is completed
4. arm-linux-androideabi-addr2line.exe 可以查看报错的行
C:\Users\zxujie>C:\android-ndk-r10d\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\bin\arm-linux-
androideabi-addr2line.exe -e libcocos2dlua.so -a 003362ca
0x003362ca
/Users/Shared/cocos_publish/bigdevil/program/frameworks/runtime-src/proj.android/../../cocos2d-x/cocos//editor-
support/cocostudio/CCArmature.cpp:142
查找闪退,保留几个版本的 proj.android\obj\local\armeabi\libcocos2dlua.so 是比较必要的
参考:
http://www.oschina.net/question/2241352_213433
http://qiang106.iteye.com/blog/1830416