2017-02-22 21 views
0

Когда я запускаю свое приложение с помощью точки останова, он работает нормально и не дает никаких ошибок, но когда я удаляю точку останова и rut, он падает. И это не сбой на симуляторе и сбои на устройстве. Так в этом случае, как найти ошибку?Приложение вылетает, если я запускаю приложение без каких-либо точек останова, но когда я запускаю с помощью точек останова, он отлично работает в ios. Как проверить проблему?

+0

включить зомби и проверить один раз –

+0

Как включить зомби? – sp309

+0

см. Этот http://stackoverflow.com/questions/5386160/how-to-enable-nszombie-in-xcode –

ответ

0

Это вопрос нить .. попытаться

runOnMainQueueWithoutDeadlockingUpload(^{ 


    //Do stuff 
     }); 

void runOnMainQueueWithoutDeadlockingUpload(void (^block)(void)) 
{ 
    if ([NSThread isMainThread]) 
    { 
     block(); 
    } 
    else 
    { 
     dispatch_sync(dispatch_get_main_queue(), block); 
    } 
} 

тяжелой задаче, которую вы делаете во время запуска приложения.

+1

Как вы узнали, что проблема с потоком? –

+0

Я проверил несколько times.it сбой при запуске напрямую, но когда я использую точку останова, он не падает. – sp309

+0

Можете ли вы опубликовать несколько журналов, почему он рушится ?? – vivek

0

это очень просто, когда у положить точку останова это не врезаться и не BreakPoint это крах так, что код у есть выполнить положить некоторую задержку, то она разрешит

double delayInSeconds = 1.0; 
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); 
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ 

// Add Your code here 

}); 
+0

Нет, он не решает проблему .. @ ravi.p – sp309

+0

@ sp309 У вас есть попытка с задержкой использовать блок? –

0

что-то происходит не так в асинхронном нить, и в особых случаях другая нить работает медленно! Вам нужно проверить эти случаи.