Ответ 1
0x8badf00d
- это код ошибки, который сторожевой таймер поднимается, когда приложение слишком долго запускается или завершается. См. Apple Отчет о сбоях для приложений iPhone OS document
Иногда мое приложение iPhone вылетает со странным crashlog, который считывает код исключения 0x8badf00d. В стеке показаны случайные снимки выполнения приложения, но ничего подозрительного. Это происходит очень редко, и я не могу понять, как его воспроизвести. Кто-нибудь знает больше об этом виде кода исключения и исключения?
Вот выдержка из моих crashlogs:
Тип исключения: 00000020
Коды исключений: 0x8badf00d
Выделенная тема: 0Информация о приложении:
Не удалось отключитьТема 0:
...
< ничего подозрительного здесь >
...Неизвестный поток разбился с неизвестным ароматом: 5, state_count: 1
0x8badf00d
- это код ошибки, который сторожевой таймер поднимается, когда приложение слишком долго запускается или завершается. См. Apple Отчет о сбоях для приложений iPhone OS document
Это HexSpeak, см. здесь: http://en.wikipedia.org/wiki/Hexspeak
Если вы получаете Exception Type: 00000020
и Exception Codes: 0x8badf00d
, то это отчеты о сбое тайм-аута сторожевого таймера. Код исключения 0x8badf00d
называется "ate bad food"
.
Наиболее распространенный reason for this crash is synchronous activity on main thread.
Исправление составляет switch to asynchronous activity
в основном потоке.
Это код ошибки, добавленный разработчиком с хорошим чувством юмора. Поскольку шестнадцатеричное число использует буквы, а также цифры, можно найти шестнадцатеричные числа, которые выглядят примерно так же, как английские слова, такие как "0xdeadbeef" и т.д. Я уверен, что исключение имеет конкретное значение, но если нет никаких основных симптомов связанный с этим, вы можете, вероятно, игнорировать его без особого беспокойства.
Это какая-то программистская идея шутки. Вы должны выбрать номер для своего кода, но этот номер не обязательно означает что-то само по себе. 8badf00d
- это еще один способ записать номер 2,343,432,205 и был выбран потому, что он выглядит "забавным", если он представлен в шестнадцатеричном виде для журнала исключений.
из wikipedia 0xBAADF00D ( "плохая еда" ) используется Microsoft LocalAlloc (LMEM_FIXED) для указания неинициализированной выделенной памяти кучи при использовании кучи отладки. [7]