WinDbg dt
コマンドは、型情報を表示するのに非常に便利です。私は通常、要素の配列の型情報を出力するのに、dt -a <memory-address> <type>
を使用します。WinDbg:プログラムから `dt`の出力を解析するにはどうすればよいですか?
dt
の出力値をプログラムでどのように操作するのですか?具体的には、配列の各要素について、配列の各要素のビットシフトされた値を出力したいと考えています(配列の各値に対して??(array-element)>>1
)。私は(データ型MY_TYPEと、0xdeadbeefが例アレイのメモリアドレスに)100個の素子のアレイのためにこれを試みた:
.for (r $t0=0; @$t0<0n100; r [email protected]$t0+1) { ??(dt 0xDEADBEEF)+(@@c++(sizeof(MY_TYPE))*@$t0) MY_TYPE)>>1 }
本質的に、配列内の各要素のために、私は出力を印刷したいですdt
の数値を1だけシフトしたものです。
ありがとうございます。私はこれがうまくいくと思います。私はまた別の解決策を見つけました。 – Kirby
windbgスクリプトはクールだが、時間がかかる、私はそれに多くの時間を費やした:) – ussrhero