在使用Windbg分析转储时,我可以信任局部变量值吗?

Can I trust local variable value when analyzing a dump with Windbg?

本文关键字:信任局 我可以 变量值 Windbg 转储      更新时间:2023-10-16

我看到一些奇怪的东西,比如指针值在2次调用之间改变值(0或有效的东西)而没有改变。枚举值也一样。这些值只是被转发,没有机会被修改。转储为minidunp

优化构建我假设?问题是CPU不处理变量,而是处理内存地址和寄存器。碰巧的是,在发布版本中,一个寄存器可能被许多变量共享——当然,不是所有变量同时共享。但是如果调试器不能确定现在在寄存器中是什么变量,它可能会很困惑。

您可以使用dv/V来显示局部变量是否存在于寄存器中。如:

0:000> dv/v@ecx this = 0x0018fe10

要解决这个问题,必须在编译时取消优化。