【问题标题】:Android NDK | How to debugging app startup or suspend app until debugger connected安卓NDK |如何调试应用程序启动或暂停应用程序,直到调试器连接
【发布时间】:2014-03-07 02:38:21
【问题描述】:

在调查我的 cocos2d-x 应用程序崩溃期间,我遇到了调试器根本不会在 AppDelegate.cpp 类中停止的问题。

我的假设是:调试器在执行此代码之前无法连接。

我的假设正确吗?有什么解决方法吗?

【问题讨论】:

  • @AlexCohn 感谢您的链接。但是我在这里看到了三个问题: 1. VisualGDB 没有Eclipse 的插件; 2.VisualGDB不支持OSX; 3.VisualGDB不是免费的;
  • 你是对的。 3次;)这就是为什么我没有将其发布为答案的原因。可能,您可以为您的私人解决方案重现他们的逻辑。如果您准备好后与我们分享,那就太好了。
  • 一种简单的方法是发出sleep 调用,使应用程序在适当的点启动几秒钟。足够长的时间来设置调试器。

标签: android c++ android-ndk dbg


【解决方案1】:

我同意fadden,您可以添加调用sleep(或usleep)功能。如果是cocos2d-x,你应该把它放在void Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit(JNIEnv* env, jobject thiz, jint w, jint h)函数的开头

void Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit(JNIEnv* env, 
                                                       jobject thiz, 
                                                       jint w, 
                                                       jint h)
{
#if COCOS2D_DEBUG    
    sleep(30);
#endif
    ...
}

另外你不应该忘记包含<unistd.h>,以防usleep

【讨论】:

    猜你喜欢
    • 2016-01-27
    • 2012-02-10
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多