8badf00d是什么意思?
有时我的iPhone应用程序崩溃了一个奇怪的crashlog,读取exception代码是0x8badf00d。 堆栈跟踪显示应用程序执行的随机快照,但没有任何可疑的。 这种情况很less发生,我无法find如何重现它。 有人知道更多关于这种exception和exception代码吗?
这里是我的crashlogs摘录:
exceptiontypes:00000020
例外代码:0x8badf00d
突出显示的主题:0特定应用信息:
无法停用线程0:
…
这里没有什么可疑的
…未知的线程崩溃与未知的味道:5,state_count:1
0x8badf00d
是应用程序花费太长时间启动或终止时,看门狗引发的错误代码。 请参阅苹果iPhone OS应用程序崩溃报告文档
这是HexSpeak,见这里: http : //en.wikipedia.org/wiki/Hexspeak
如果您得到Exception Type: 00000020
和Exception Codes: 0x8badf00d
那么它是看门狗超时崩溃报告 。 exception代码0x8badf00d
被称为"ate bad food"
。
reason for this crash is synchronous activity on main thread.
最常见的reason for this crash is synchronous activity on main thread.
修复方法是switch to asynchronous activity
主线程上的switch to asynchronous activity
。
请参阅此Apple文档以获取更多细节。
这是一个具有良好幽默感的开发人员添加的失败代码。 由于hex使用字母和数字,所以可能会得到hex数字,看起来像英文单词,如“0xdeadbeef”,等等。我确定例外有一个特定的含义,但如果没有主要症状与之相关联,你可以忽略它,没有太多的关注。
这是程序员的一个笑话的想法。 你必须为你的代码select一个数字,但是这个数字本身并不意味着什么。 8badf00d
只是写入数字2,343,432,205的另一种方式,因为它在以hex表示的exception日志中看起来很“有趣”。
来自wikipedia当使用debugging堆时,0xBAADF00D(“bad food”)被微软的LocalAlloc(LMEM_FIXED)用来指示未初始化的分配的堆内存。