在调试Linux应用程序时,我发现一个指针的可疑值为0x7c7c7c7c7c。这个特定值是否表明了什么?
(我之所以这样问,是因为我从MSVC时代就知道,在调试构建中,像0xcdcdcdcd或0xdddddddd这样的值会被存储到未初始化、释放或无效的堆块中。有些人在未初始化的内存中使用像0xDeadBeans或0xcafebabe这样的魔术值。我猜libc或其他地方的某些东西使用0x7c7c7c7c作为魔术值,但我找不到它的文档。)
发布于 2008-12-11 14:42:21
我不认识这个神奇的数字,Wikipedia也不认识。我猜您的程序(或您正在使用的库)中的某些代码正在使用memset()并命中您的指针。你的代码库是否对字符串"0x7c“的大小写不敏感?
发布于 2008-12-11 14:51:23
0x7C是ASCII管道"|“字符。您可以按照Adam的建议搜索该字符的写入以及124和0x7C。
发布于 2008-12-11 14:39:05
0x7c7c = 01111100 01111100,二进制。这可能是那些“最难读”的位模式之一,格式化实用程序用来填充硬盘上未使用的空间。
https://stackoverflow.com/questions/359553
复制相似问题