添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

I’m getting random crashes in the middle of the game, and I mean random , meaning sometimes it happens, sometimes it doesn’t. It also happens at random points in the game. I think it’s memory related.
This is what Eclipse LogCat shows me. I can’t figure out what it means though.

01-01 22:21:36.367: I/DEBUG(13707): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-01 22:21:36.367: I/DEBUG(13707): Build fingerprint: 'generic/blaze/blaze:2.3.4/GINGERBREAD/6.3.1_user_4107920:user/release-keys'
01-01 22:21:36.367: I/DEBUG(13707): pid: 14078, tid: 14086  >>> com.mycompany.myapp <<<
01-01 22:21:36.367: I/DEBUG(13707): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
01-01 22:21:36.367: I/DEBUG(13707):  r0 00000000  r1 8132219c  r2 8131de40  r3 00000000
01-01 22:21:36.367: I/DEBUG(13707):  r4 8132dc74  r5 afd46480  r6 46a65bb0  r7 00000000
01-01 22:21:36.367: I/DEBUG(13707):  r8 46a65af8  r9 46965f30  10 fffffe84  fp 4446f6cc
01-01 22:21:36.367: I/DEBUG(13707):  ip afd46478  sp 46a65988  lr 00000000  pc 812a13f8  cpsr 40000110
01-01 22:21:36.367: I/DEBUG(13707):  d0  0037ee000044d900  d1  be800000000000ee
01-01 22:21:36.367: I/DEBUG(13707):  d2  3f9d13a100000037  d3  3feec709dc3a0300
01-01 22:21:36.367: I/DEBUG(13707):  d4  3e5c579a00000000  d5  bfbd8065f5bdcf01
01-01 22:21:36.367: I/DEBUG(13707):  d6  3f8a3383546f800e  d7  ffffffff4a454eef
01-01 22:21:36.367: I/DEBUG(13707):  d8  3ff0000000000000  d9  0000000000000000
01-01 22:21:36.367: I/DEBUG(13707):  d10 0000000000000000  d11 0000000000000000
01-01 22:21:36.367: I/DEBUG(13707):  d12 0000000000000000  d13 0000000000000000
01-01 22:21:36.367: I/DEBUG(13707):  d14 0000000000000000  d15 0000000000000000
01-01 22:21:36.367: I/DEBUG(13707):  d16 405b89a3e907c2ea  d17 c05b666680000000
01-01 22:21:36.367: I/DEBUG(13707):  d18 be71e951fb131b69  d19 bf793d9cdd44280b
01-01 22:21:36.367: I/DEBUG(13707):  d20 4000000000000000  d21 3f1154ff66211d93
01-01 22:21:36.367: I/DEBUG(13707):  d22 bebbbafbacad13e7  d23 bfbcf4af1031d000
01-01 22:21:36.367: I/DEBUG(13707):  d24 3e66376972bea4d0  d25 bff0000000000000
01-01 22:21:36.367: I/DEBUG(13707):  d26 3ff8756a00000000  d27 bf793d9cdd442808
01-01 22:21:36.367: I/DEBUG(13707):  d28 c000ec032fadee78  d29 bfbcf4b02ec6efb1
01-01 22:21:36.367: I/DEBUG(13707):  d30 bc460b8a0413c830  d31 be71e951fb100000
01-01 22:21:36.367: I/DEBUG(13707):  scr 80000012
01-01 22:21:36.430: I/DEBUG(13707):          #00  pc 002a13f8  /data/data/com.mycompany.myapp/lib/libmyapp.so
01-01 22:21:36.430: I/DEBUG(13707):          #01  pc 0012e826  /data/data/com.mycompany.myapp/lib/libmyapp.so
01-01 22:21:36.430: I/DEBUG(13707):          #02  pc 000f3648  /data/data/com.mycompany.myapp/lib/libmyapp.so
01-01 22:21:36.430: I/DEBUG(13707):          #03  pc 0010bb6c  /data/data/com.mycompany.myapp/lib/libmyapp.so
01-01 22:21:36.430: I/DEBUG(13707):          #04  pc 00138774  /data/data/com.mycompany.myapp/lib/libmyapp.so
01-01 22:21:36.430: I/DEBUG(13707):          #05  pc 0013e1e2  /data/data/com.mycompany.myapp/lib/libmyapp.so
01-01 22:21:36.430: I/DEBUG(13707):          #06  pc 00165532  /data/data/com.mycompany.myapp/lib/libmyapp.so
01-01 22:21:36.430: I/DEBUG(13707):          #07  pc 00166d06  /data/data/com.mycompany.myapp/lib/libmyapp.so
01-01 22:21:36.430: I/DEBUG(13707):          #08  pc 0019f6d4  /data/data/com.mycompany.myapp/lib/libmyapp.so
01-01 22:21:36.430: I/DEBUG(13707):          #09  pc 00017e34  /system/lib/libdvm.so
01-01 22:21:36.430: I/DEBUG(13707):          #10  pc 000496da  /system/lib/libdvm.so
01-01 22:21:36.430: I/DEBUG(13707):          #11  pc 000296e8  /system/lib/libdvm.so
01-01 22:21:36.430: I/DEBUG(13707): code around pc:
01-01 22:21:36.430: I/DEBUG(13707): 812a13d8 eafffff8 e590c000 e92d45f0 e1a05000 
01-01 22:21:36.430: I/DEBUG(13707): 812a13e8 e51c0004 e24dd02c e51ce008 e1a07003 
01-01 22:21:36.430: I/DEBUG(13707): 812a13f8 e590c000 e28d3014 e3a04000 e58d300c 
01-01 22:21:36.430: I/DEBUG(13707): 812a1408 e1a08002 e085e00e e3a03010 e58d1004 
01-01 22:21:36.430: I/DEBUG(13707): 812a1418 e58de000 e58d5008 e58d3024 e3a02006 
01-01 22:21:36.430: I/DEBUG(13707): code around lr:
01-01 22:21:36.438: I/DEBUG(13707): stack:
01-01 22:21:36.438: I/DEBUG(13707):     46a65948  811a7669  /data/data/com.mycompany.myapp/lib/libmyapp.so
01-01 22:21:36.438: I/DEBUG(13707):     46a6594c  810f8d59  /data/data/com.mycompany.myapp/lib/libmyapp.so
01-01 22:21:36.438: I/DEBUG(13707):     46a65950  000540cb  
01-01 22:21:36.438: I/DEBUG(13707):     46a65954  0044f0b8  
01-01 22:21:36.438: I/DEBUG(13707):     46a65958  00000001  
01-01 22:21:36.438: I/DEBUG(13707):     46a6595c  0046c898  
01-01 22:21:36.438: I/DEBUG(13707):     46a65960  00190000  
01-01 22:21:36.438: I/DEBUG(13707):     46a65964  ba6f4bc8  
01-01 22:21:36.438: I/DEBUG(13707):     46a65968  00000000  
01-01 22:21:36.438: I/DEBUG(13707):     46a6596c  0044f0b8  
01-01 22:21:36.438: I/DEBUG(13707):     46a65970  00000000  
01-01 22:21:36.438: I/DEBUG(13707):     46a65974  8115d6e9  /data/data/com.mycompany.myapp/lib/libmyapp.so
01-01 22:21:36.438: I/DEBUG(13707):     46a65978  0044f0b8  
01-01 22:21:36.438: I/DEBUG(13707):     46a6597c  000ed290  
01-01 22:21:36.438: I/DEBUG(13707):     46a65980  df002777  
01-01 22:21:36.438: I/DEBUG(13707):     46a65984  e3a070ad  
01-01 22:21:36.438: I/DEBUG(13707): #00 46a65988  00000000  
01-01 22:21:36.438: I/DEBUG(13707):     46a6598c  ba6f4bc8  
01-01 22:21:36.438: I/DEBUG(13707):     46a65990  0044f0b8  
01-01 22:21:36.438: I/DEBUG(13707):     46a65994  00000000  
01-01 22:21:36.438: I/DEBUG(13707):     46a65998  00000000  
01-01 22:21:36.438: I/DEBUG(13707):     46a6599c  81164abf  /data/data/com.mycompany.myapp/lib/libmyapp.so
01-01 22:21:36.438: I/DEBUG(13707):     46a659a0  01000000  
01-01 22:21:36.438: I/DEBUG(13707):     46a659a4  ba6f4bc8  
01-01 22:21:36.438: I/DEBUG(13707):     46a659a8  00000000  
01-01 22:21:36.438: I/DEBUG(13707):     46a659ac  00000000  
01-01 22:21:36.438: I/DEBUG(13707):     46a659b0  00000000  
01-01 22:21:36.438: I/DEBUG(13707):     46a659b4  8132dc74  
01-01 22:21:36.438: I/DEBUG(13707):     46a659b8  00000000  
01-01 22:21:36.438: I/DEBUG(13707):     46a659bc  46a65bb0  
01-01 22:21:36.438: I/DEBUG(13707):     46a659c0  46965f38  
01-01 22:21:36.438: I/DEBUG(13707):     46a659c4  46a65af8  
01-01 22:21:36.438: I/DEBUG(13707):     46a659c8  fffffe84  
01-01 22:21:36.438: I/DEBUG(13707):     46a659cc  8112e829  /data/data/com.mycompany.myapp/lib/libmyapp.so
01-01 22:21:36.438: I/DEBUG(13707): #01 46a659d0  003ad008  
01-01 22:21:36.438: I/DEBUG(13707):     46a659d4  003ad008  
01-01 22:21:36.438: I/DEBUG(13707):     46a659d8  811a6d4d  /data/data/com.mycompany.myapp/lib/libmyapp.so
01-01 22:21:36.438: I/DEBUG(13707):     46a659dc  00000001  
01-01 22:21:36.438: I/DEBUG(13707):     46a659e0  afd46480  
01-01 22:21:36.438: I/DEBUG(13707):     46a659e4  003f9894  
01-01 22:21:36.446: I/DEBUG(13707):     46a659e8  00000006  
01-01 22:21:36.446: I/DEBUG(13707):     46a659ec  00000010  
01-01 22:21:36.446: I/DEBUG(13707):     46a659f0  43d66666  
01-01 22:21:36.446: I/DEBUG(13707):     46a659f4  003f9894  
01-01 22:21:36.446: I/DEBUG(13707):     46a659f8  0044d9f0  
01-01 22:21:36.446: I/DEBUG(13707):     46a659fc  46a65bb0  
01-01 22:21:36.446: I/DEBUG(13707):     46a65a00  46965f38  
01-01 22:21:36.446: I/DEBUG(13707):     46a65a04  46a65af8  
01-01 22:21:36.446: I/DEBUG(13707):     46a65a08  8132dc74  
01-01 22:21:36.446: I/DEBUG(13707):     46a65a0c  810f364d  /data/data/com.mycompany.myapp/lib/libmyapp.so

It also sometimes gives me one of the best error messages there is:
“debugger committed suicide to free the zombies!”

I’m using cocos2d-x 2.0.4, Eclipse Juno, and Kindle Fire for testing.

Anyone else experiencing this?

I made a bit of a progress and I want to share what I did.

When you get errors like this on the LogCat, they are saved on $PROJECT_PATH/obj/local/armeabi where $PROJECT_PATH is the path to your cocos2d-x android project. To symbolicate the messages to something understandable, you can use the ndk-stack tool.

Open up the Terminal (or Cygwin, not sure though) and type in

cd $ANDROID_NDK
adb logcat | ./ndk-stack -sym $PROJECT_PATH/obj/local/armeabi 

where:
$ANDROID_NDK is the path to your android NDK
PROJECT_PATH is the path to your cocos2d-x android project

After that, you will get a stack trace which points to certain files and line number where the crash occurred. Something like this:

********** Crash dump: **********
Build fingerprint: 'generic/blaze/blaze:2.3.4/GINGERBREAD/6.3.1_user_4107920:user/release-keys'
pid: 16346, tid: 16354  >>> com.mycompany.myapp <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
Stack frame #00  pc 002a13f0  /data/data/com.mycompany.myapp/lib/libmyapp.so: Unable to locate routine information for address 2a13f0 in module
Stack frame #01  pc 0012e81e  /data/data/com.mycompany.myapp/lib/libmyapp.so: Routine updateNode in jni/../../Classes/TowerObj.cpp:150
Stack frame #02  pc 000f3648  /data/data/com.mycompany.myapp/lib/libmyapp.so: Routine updateLayer in jni/../../Classes/BuilderLayer.cpp:107
Stack frame #03  pc 0010bb94  /data/data/com.mycompany.myapp/lib/libmyapp.so: Routine updateGame in jni/../../Classes/MainGameLayer.cpp:172
( more here pointing to cocos2d-x classes )

From the dump above, you can see that on Stack frame #01 points to TowerObj.cpp:150, so I can now go to TowerObj.cpp at line 150 and fix stuff.

Hope this helps.

Additional information
If your Application.mk define that “armeabi”, that link is correct.
$PROJECT_PATH/obj/local/armeabi

But if you define that armeabi-v7s , the correct one is
$PROJECT_PATH/obj/local/armeabi-v7s

Thank you very much, and I also have a question (about logcat out “I/DEBUG”), I use the adb logcat > d: \ log.txt ,after opening It ,it shows like this
60bc66229097a475.png773×472 , how can I be my android application to print out a similar "I/DEBUG log information?

I am facing a similar problem. My code is running for iOS, but not for android.
Here is the crash dump:

********** Crash dump: ************
Build fingerprint: ‘motorola/condor_retaildsds/condor_umtsds:4.4.4/KXC21.5-40/46:user/release-keys’
pid: 15363, tid: 15388, name: Thread-32990 >>> com.frogcoders.smack.moles <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0b04f856
Stack frame #00 pc 0b04f856
Stack frame #01 pc 004a9ef7 /mnt/asec/com.frogcoders.smack.moles-1/lib/libcocos2dcpp.so (cocos2d::ProtectedNode::cleanup()+34): Routine cocos2d::ProtectedNode::cleanup() at ??:?
Stack frame #02 pc 0049a04b /mnt/asec/com.frogcoders.smack.moles-1/lib/libcocos2dcpp.so (cocos2d::Node::detachChild(cocos2d::Node*, int, bool)+66): Routine cocos2d::Node::detachChild(cocos2d::Node*, int, bool) at ??:?
Stack frame #03 pc 0049a11f /mnt/asec/com.frogcoders.smack.moles-1/lib/libcocos2dcpp.so (cocos2d::Node::removeChild(cocos2d::Node*, bool)+150): Routine cocos2d::Node::removeChild(cocos2d::Node*, bool) at ??:?
Stack frame #04 pc 004980a3 /mnt/asec/com.frogcoders.smack.moles-1/lib/libcocos2dcpp.so (cocos2d::Node::removeFromParentAndCleanup(bool)+24): Routine cocos2d::Node::removeFromParentAndCleanup(bool) at ??:?
Stack frame #05 pc 00498087 /mnt/asec/com.frogcoders.smack.moles-1/lib/libcocos2dcpp.so (cocos2d::Node::removeFromParent()+10): Routine cocos2d::Node::removeFromParent() at ??:?
Stack frame #06 pc 00387bac /mnt/asec/com.frogcoders.smack.moles-1/lib/libcocos2dcpp.so (GameScreen::init()+2280): Routine GameScreen::init() at /Users/admin/Desktop/Cocos2dx/GamePrograming/SmackMoles/SmackMoles/proj.android/jni/…/…/Classes/GameScene.cpp:83