WinDbg .for 循环

发布于 2024-08-11 06:25:24 字数 442 浏览 6 评论 0原文

我无法让 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] }'

什么想法吗?

斯科特

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

秋心╮凉 2024-08-18 06:25:24

您不能使用 C++ 运算符修改 Windbg 中的伪寄存器左值。您可以改用 r $t0=@$t0+1 。这将按您想要的方式工作:

.for (r $t0=0;@$t0<@@c++(g_pTranData->m_iApplCodeCount);r $t0=@$t0+1){ ?? &g_pTranData->m_pApplCodes[@$t0] } 

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] } 
俯瞰星空 2024-08-18 06:25:24

我猜想 masm 求值器在您的 gpTranData->miApplCodeCount 输入中丢失了一些数据。用@@c++() 或@@() 包装您的表达式。

I guess the masm evaluator is missing some data on your gpTranData->miApplCodeCount input. Wrap your expression with either @@c++() or @@().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文