2014-02-09 2 views
2

Во время следственного краха моего приложения cocos2d-x у меня возникла проблема с тем, что отладчик вообще не останавливается в классе AppDelegate.cpp.Android NDK | Как отлаживать запуск приложения или приостанавливать приложение до тех пор, пока не будет подключен отладчик

Мое предположение: отладчик не мог подключиться до времени, когда этот код был выполнен.

Является ли мое предположение правильным? Существует ли какое-либо обходное решение?

+1

см [Отладка App запуск с VisualGDB] (http://visualgdb.com/ документация/appstartup). –

+0

@AlexCohn Спасибо за ссылку. Но я вижу здесь три проблемы: 1. «VisualGDB» не имеет плагина для «Eclipse»; 2. 'VisualGDB' не поддерживает' OSX'; 3. «VisualGDB» не является бесплатным; – CAMOBAP

+0

Вы правы. 3 раза;) Вот почему я не опубликовал это как ответ. Возможно, вы можете воспроизвести свою логику для своего частного решения. Было бы здорово, если вы поделитесь им с нами, когда будете готовы. –

ответ

3

Я согласен с 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