While working with Webkit I encountered an error with a pointer set to 0xbbadbeef. What is BadBeef used for in Webkit?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
It is a hexspeak used in WebKit and, it indicates a known, unrecoverable error such as out of memory.
As you can see from the link https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/wtf/Assertions.h&l=180
/* CRASH() - Raises a fatal error resulting in program termination and triggering either the debugger or the crash reporter.
Use CRASH() in response to known, unrecoverable errors like out-of-memory.
Macro is enabled in both debug and release mode.
To test for unknown errors and verify assumptions, use ASSERT instead, to avoid impacting performance in release builds.
Signals are ignored by the crash reporter on OS X so we must do better.
*/
#ifndef CRASH
#if COMPILER(MSVC)
#define CRASH() (__debugbreak(), IMMEDIATE_CRASH())
#else
#define CRASH() \
(WTFReportBacktrace(), (*(int*)0xfbadbeef = 0), IMMEDIATE_CRASH())
#endif
#endif