指针值的特殊含义0x7c7c7c7c

在debugging一个Linux应用程序的时候,我发现了一个可疑值为0x7c7c7c7c的指针。 这个特殊的价值是否表明了什么

(我问,因为我知道从我的MSVC日子,在debugging版本中,像0xcdcdcdcd或0xdddddddd这样的值将被存储到未初始化,释放或以其他方式无效的堆块中,有些人在未初始化的内存中使用了像0xdeadbeef或0xcafebabe这样的魔术值。我猜在libc或其他地方使用0x7c7c7c7c作为一个魔法值,但我找不到它logging。)

我不承认这个魔法数字, 维基百科也没有。 我猜测你的程序(或者你正在使用的库)中的一些代码正在使用memset()并敲击你的指针。 你是否对字符串“0x7c”不区分大小写?

0x7C是一个ASCII管道“|” 字符。 你也可以像Adam建议的那样搜索那个字符的写和124和0x7C。

0x7c7c = 01111100 01111100二进制。 这可能是格式化工具填充硬盘上未使用空间的那些“最难读”位模式之一。

也许MALLOC_PERTURB_环境变量设置? 如果设置,它会影响malloc()如何初始化分配的内存。