Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WinDbg .for loop

Tags:

windbg

I am having trouble getting the WinDbg .for command to work.

I would like to dump an array of c++ structs.

?? gpTranData->mpApplCodes[0] works for a single entry but I would like to loop through n of these.

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

sound logical to me but I get

Numeric expression missing from '>miApplCodeCount);$t0++){ ?? &gpTranData->m_pApplCodes[$t0] }'

Any ideas?

Scott

like image 772
Scott Norberg Avatar asked Mar 01 '23 01:03

Scott Norberg


1 Answers

You cannot use C++ operators to modify pseudo-register l-values in Windbg. You can use instead r $t0=@$t0+1 . This will work as you want:

.for (r $t0=0;@$t0<@@c++(g_pTranData->m_iApplCodeCount);r $t0=@$t0+1){ ?? &g_pTranData->m_pApplCodes[@$t0] } 
like image 80
plodoc Avatar answered Apr 26 '23 21:04

plodoc