我正在 Windbg 中转储一个类(通过 dt
),对于 bool
成员,我看到了值 fffffffffffffff8
(bin: .. .1111111111111111000)。 是否为有效值(包括填充)?
PS:我正在调查一个可能是内存损坏的转储,所以 .. 不能确定。
PS2:我的 bool 值在 pointer
和 size_t
之间。编译为发布。
最佳答案
这不是一个有效的 bool
值 -- bool
应该只显示为 0
或 1
。由于您看到的是 0xf8,因此内存未初始化或被覆盖。 (请注意,出于某种原因,WinDbg 只会读取一个字节,然后将其符号扩展为 64 位。)
关于c++ - 在 Windbg 中转储值和填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7874549/