Solaris 模块调试器指南

未初始化的数据: 0xbaddcafe

您可能想知道在用 redzone 字节覆写字中的第一个字节之前,地址 0x729084d4 上的可疑 0xbbddcafe 是什么。 它是 0xbaddcafe。如果在高速缓存中设置了 KMF_DEADBEEF 标志,则使用 0xbaddcafe 模式填充已分配但未初始化的内存。 分配器执行分配时,会循环通过缓冲区的各个字并验证每个字是否包含 0xdeadbeef,然后使用 0xbaddcafe 填充该字。

系统可能会发出以下故障消息:

panic[cpu1]/thread=e1979420: BAD TRAP: type=e (Page Fault)

rp=ef641e88 addr=baddcafe occurred in module "unix" due to an

illegal access to a user address

在这种情况下,导致故障的地址是 0xbaddcafe: 出现故障的线程访问了一些从未初始化的数据。