Приложение вылетает через 4 минуты - PullRequest
1 голос
/ 16 января 2011

Я получаю странный сбой во время вызова arc4random, который появляется только примерно через 4 минуты работы приложения, и он не делает это каждый раз. Вот журнал сбоев:

Incident Identifier: 25C8C57F-0434-40B2-A2E8-FE88F58ABF60
CrashReporter Key:   8683ce910e9db4ba69f61266b606396f941d08ee
Hardware Model:      iPhone2,1
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2011-01-16 18:46:45.170 +0000
OS Version:      iPhone OS 4.2.1 (8C148a)
Report Version:  104

Exception Type:  00000020
Exception Codes: 0x8badf00d
Highlighted Thread:  0

Application Specific Information:
<App> failed to resume in time

Elapsed total CPU time (seconds): 5.930 (user 5.380, system 0.550), 100% CPU 
Elapsed application CPU time (seconds): 4.790, 81% CPU

Thread 0:
0   libSystem.B.dylib              0x31168006 pthread_mutex_lock + 50
1   libSystem.B.dylib              0x3118cb10 arc4random + 24
2   <App>                   0x0000f658 -[BasicGameLayer updateBoard] (BasicGameScreen.mm:318)
3   <App>                    0x00010790 -[BasicGameLayer handleTouches:withEvent:] (BasicGameScreen.mm:238)
4   <App>                   0x0000e504 -[BasicGameLayer ccTouchesBegan:withEvent:] (BasicGameScreen.mm:276)

Строка 318 BasicGameScreen.mm представляет собой открывающую скобку. Я предполагаю, что компилятор удаляет пробелы, поэтому я думаю, что строка, на которой он падает,

int selection = arc4random() % 16;

Ответы [ 2 ]

4 голосов
/ 16 января 2011

Ключ здесь:

Коды исключений: 0x8badf00d

Это означает, что то, что вы делаете при запуске, занимает слишком много времени, чтобы закончить выполнение.

0 голосов
/ 15 апреля 2011

Оказывается, это был бесконечный цикл (в моем коде), который был запущен при очень специфической комбинации переменных.

...