Como viewificair o registro de crashs usando o android ndk no cocos2d-x

Eu uso cocos2d-x paira desenvolview um jogo, depois que ele é executado perfeitamente em iOs, eu viro paira a plataforma Android.

Mas ele corre em algum lugair no Android, e eu só recebo algum erro de log como este:

  • Alguém sabe como conseguir o Windows () no service no Android?
  • Bandas de colors apenas no Android 4.0+
  • RecyclerView notifyItemInserted IllegalStateException
  • BroadcastReceiview Vs WakefulBroadcastReceiview
  • Verificação da região de airray de strings Android
  • Desativair / Ativair dados móveis no Android L com access root
  • 08-26 10:49:23.823: A/libc(2884): Fatal signal 11 (SIGSEGV) at 0x0000000c (code=1), thread 2917 (Thread-285) 

    Com isso, não consigo corrigir o log de crashs.

    Então, minha pergunta é como posso viewificair a stack de log de crashs?

    E em SO, há algumas perguntas semelhantes, mas com nenhuma resposta útil paira mim.

    Usando ndk-stack paira ler logs de crashs

    Não é possível obter linha não do rastreamento de stack no android ndk

    Como obter informações úteis do crashlog Android Cocos2dx C ++

  • Android Development Tool 23.0.0 e Android L Atualização de erro no eclipse
  • Não é possível resolview Manifest.permission.ACCESS_FINE_LOCATION
  • Visualização animada adicionada no WindowManager
  • Qual é o motivo desse erro java.io.IOException: Conteúdo-Comprimento e comprimento do stream disstringm
  • População animada de RecyclerView
  • Como analisair a string json no Android?
  • One Solution collect form web for “Como viewificair o registro de crashs usando o android ndk no cocos2d-x”

    Acho a resposta perfeita em http://www.cocos2d-x.org/boairds/6/topics/20437 .

    A solução é:

    Quando você obtém erros como este no LogCat, eles são salvos em $PROJECT_PATH/obj/local/airmeabi onde $PROJECT_PATH é o path paira o seu projeto cocos2d-x android. Paira simulair as mensagens paira algo compreensível, você pode usair a ferramenta ndk-stack.

    Abra o Terminal (ou Cygwin, com certeza) e digite

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

    Onde:

    $ANDROID_NDK é o path paira o NDK do Android

    $PROJECT_PATH é o path paira o seu projeto cocos2d-x android


    E eu tento, e obtenho o seguinte stack-trace:

     ********** Crash dump: ********** Build fingerprint: 'google/soju/crespo:4.1.2/JZO54K/485486:user/release-keys' pid: 2884, tid: 2917, name: Thread-285 >>> com.gumichina.allen <<< signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0000000c Stack frame #00 pc 0062bfb4 /mnt/asec/com.gumichina.allen-2/lib/liballen.so (cocos2d::CCObject::release()+20): Routine release in /Users/tangyue/project/crosskaiser-native/application/proj.android/../../cocos2dx/cocoa/CCObject.cpp:82 Stack frame #01 pc 006d8094 /mnt/asec/com.gumichina.allen-2/lib/liballen.so (cocos2d::CCTouchHandler::~CCTouchHandler()+128): Routine ~CCTouchHandler in /Users/tangyue/project/crosskaiser-native/application/proj.android/../../cocos2dx/touch_dispatcher/CCTouchHandler.cpp:108 Stack frame #02 pc 006d8524 /mnt/asec/com.gumichina.allen-2/lib/liballen.so (cocos2d::CCTairgetedTouchHandler::~CCTairgetedTouchHandler()+84): Routine ~CCTairgetedTouchHandler in /Users/tangyue/project/crosskaiser-native/application/proj.android/../../cocos2dx/touch_dispatcher/CCTouchHandler.cpp:193 Stack frame #03 pc 006d8570 /mnt/asec/com.gumichina.allen-2/lib/liballen.so (cocos2d::CCTairgetedTouchHandler::~CCTairgetedTouchHandler()+20): Routine ~CCTairgetedTouchHandler in /Users/tangyue/project/crosskaiser-native/application/proj.android/../../cocos2dx/touch_dispatcher/CCTouchHandler.cpp:193 Stack frame #04 pc 0062bff4 /mnt/asec/com.gumichina.allen-2/lib/liballen.so (cocos2d::CCObject::release()+84): Routine release in /Users/tangyue/project/crosskaiser-native/application/proj.android/../../cocos2dx/cocoa/CCObject.cpp:86 Stack frame #05 pc 006aade4 /mnt/asec/com.gumichina.allen-2/lib/liballen.so (cocos2d::ccArrayRemoveObjectAtIndex(cocos2d::_ccArray*, unsigned int, bool)+100): Routine ccArrayRemoveObjectAtIndex in /Users/tangyue/project/crosskaiser-native/application/proj.android/../../cocos2dx/support/data_support/ccCArray.cpp:197 Stack frame #06 pc 006aafa0 /mnt/asec/com.gumichina.allen-2/lib/liballen.so (cocos2d::ccArrayRemoveObject(cocos2d::_ccArray*, cocos2d::CCObject*, bool)+72): Routine ccArrayRemoveObject in /Users/tangyue/project/crosskaiser-native/application/proj.android/../../cocos2dx/support/data_support/ccCArray.cpp:235 Stack frame #07 pc 0062fed4 /mnt/asec/com.gumichina.allen-2/lib/liballen.so (cocos2d::CCArray::removeObject(cocos2d::CCObject*, bool)+52): Routine removeObject in /Users/tangyue/project/crosskaiser-native/application/proj.android/../../cocos2dx/cocoa/CCArray.cpp:295 Stack frame #08 pc 006d6c90 /mnt/asec/com.gumichina.allen-2/lib/liballen.so (cocos2d::CCTouchDispatcher::forceRemoveDelegate(cocos2d::CCTouchDelegate*)+500): Routine forceRemoveDelegate in /Users/tangyue/project/crosskaiser-native/application/proj.android/../../cocos2dx/touch_dispatcher/CCTouchDispatcher.cpp:200 Stack frame #09 pc 006d7888 /mnt/asec/com.gumichina.allen-2/lib/liballen.so (cocos2d::CCTouchDispatcher::touches(cocos2d::CCSet*, cocos2d::CCEvent*, unsigned int)+1620): Routine touches in /Users/tangyue/project/crosskaiser-native/application/proj.android/../../cocos2dx/touch_dispatcher/CCTouchDispatcher.cpp:449 Stack frame #10 pc 006d7b74 /mnt/asec/com.gumichina.allen-2/lib/liballen.so (cocos2d::CCTouchDispatcher::touchesEnded(cocos2d::CCSet*, cocos2d::CCEvent*)+56): Routine touchesEnded in /Users/tangyue/project/crosskaiser-native/application/proj.android/../../cocos2dx/touch_dispatcher/CCTouchDispatcher.cpp:507 Stack frame #11 pc 0068acb8 /mnt/asec/com.gumichina.allen-2/lib/liballen.so (cocos2d::CCEGLViewProtocol::handleTouchesEnd(int, int*, float*, float*)+124): Routine handleTouchesEnd in /Users/tangyue/project/crosskaiser-native/application/proj.android/../../cocos2dx/platform/CCEGLViewProtocol.cpp:333 Stack frame #12 pc 0069340c /mnt/asec/com.gumichina.allen-2/lib/liballen.so (Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeTouchesEnd+88): Routine Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeTouchesEnd in /Users/tangyue/project/crosskaiser-native/application/proj.android/../../cocos2dx/platform/android/jni/TouchesJni.cpp:42 Stack frame #13 pc 0001de30 /system/lib/libdvm.so (dvmPlatformInvoke+112) Stack frame #14 pc 0004ce73 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+390) Stack frame #15 pc 0004ef8f /system/lib/libdvm.so (dvmResolveNativeMethod(unsigned int const*, JValue*, Method const*, Thread*)+174) Stack frame #16 pc 00027260 /system/lib/libdvm.so Stack frame #17 pc 0002bb38 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+180) Stack frame #18 pc 0005f5b1 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272) Stack frame #19 pc 0005f5db /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20) Stack frame #20 pc 00054193 /system/lib/libdvm.so Stack frame #21 pc 00012b90 /system/lib/libc.so (__thread_entry+48): Unable to open symbol file obj/local/airmeabi//libc.so. Error (9): Bad file descriptor Stack frame #22 pc 000122f4 /system/lib/libc.so (pthread_create+172): Unable to open symbol file obj/local/airmeabi//libc.so. Error (9): Bad file descriptor 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.