我在运行WinDbg .for命令时遇到了问题。
我想转储一个c++结构数组。
?? gpTranData->mpApplCodes[0]适用于单个条目,但我想遍历其中的n个条目。
.for ($t0=0;$t0<(gpTranData->miApplCodeCount);$t0++){ ?? &gpTranData->mpApplCodes[$t0] }对我来说听起来合乎逻辑但是我得到了
Numeric expression missing from '>miApplCodeCount);$t0++){ ?? &gpTranData->m_pApplCodes[$t0] }'有什么想法吗?
史考特
发布于 2010-03-03 18:10:09
您不能使用C++运算符来修改Windbg中的伪寄存器l值。您可以改用r $t0=@$t0+1。这将按您所希望的方式工作:
.for (r $t0=0;@$t0<@@c++(g_pTranData->m_iApplCodeCount);r $t0=@$t0+1){ ?? &g_pTranData->m_pApplCodes[@$t0] } 发布于 2009-11-18 03:25:57
我猜masm计算器在您的gpTranData->miApplCodeCount输入中丢失了一些数据。使用@@c++()或@@()包装表达式。
https://stackoverflow.com/questions/1749735
复制相似问题