Цикл WinDbg .for - PullRequest
       7

Цикл WinDbg .for

4 голосов
/ 17 ноября 2009

У меня проблемы с получением команды 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] }'

Есть идеи?

Scott

Ответы [ 2 ]

7 голосов
/ 03 марта 2010

Вы не можете использовать операторы C ++ для изменения псевдорегистрационных l-значений в Windbg. Вместо этого вы можете использовать r $ t0 = @ $ t0 + 1 . Это будет работать так, как вы хотите:

.for (r $t0=0;@$t0<@@c++(g_pTranData->m_iApplCodeCount);r $t0=@$t0+1){ ?? &g_pTranData->m_pApplCodes[@$t0] } 
0 голосов
/ 17 ноября 2009

Я полагаю, что в оценщике массы отсутствуют некоторые данные на вашем gpTranData->miApplCodeCount вводе. Оберните ваше выражение с помощью @@ c ++ () или @@ ().

...