WinDbg .for循环

Sco*_*erg 4 windbg

我无法让WinDbg .for命令工作.

我想转储一系列c ++结构.

?? gpTranData->mpApplCodes[0] 适用于单个条目,但我想循环使用其中的一个.

.for ($t0=0;$t0<(gpTranData->miApplCodeCount);$t0++){ ?? &gpTranData->mpApplCodes[$t0] }
Run Code Online (Sandbox Code Playgroud)

对我来说合乎逻辑但是我明白了

Numeric expression missing from '>miApplCodeCount);$t0++){ ?? &gpTranData->m_pApplCodes[$t0] }'
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

斯科特

小智 7

您不能使用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] } 
Run Code Online (Sandbox Code Playgroud)