3

Windbg スクリプトでオブジェクトのリストを列挙し、操作を実行しようとしています。

そのため、ディレクトリ オブジェクトを取得してから、そのディレクトリ内の各オブジェクトに対して foreach を実行します。

.foreach /pS 19 /ps 1 (Address {!object @$t7}) {!object Address}

問題は、「アドレス」が常にアドレス トークンであるとは限らないことです。数値以外のトークンをスキップする必要があります。いくつかの有効なアドレスをスキップしてトークンを台無しにしない限り、 /ps を使用してそれを行うことはできません。

私は .if ($spat(Address, " - ")) != 1 { }のようなものを試します

しかし、それはうまくいきませんでした。

OutCommand に実際に渡す前に、変数「アドレス」に対して操作を実行できませんか?

ありがとう。

4

2 に答える 2

2

私は次のようなことを試みます.if ($spat(Address, "-")) != 1 { }

これは機能するはずですが、構文が少し間違っています。次のようなものが必要になります。

.if ( $spat( "Address","[0-f][0-f][0-f][0-f][0-f][0-f][0-f][0-f]" ) )
{
    some code;
};

これで住所が一致します。マッチングの詳細については、windbg ヘルプの文字列ワイルドカード構文のページを参照してください。

于 2013-09-17T13:24:03.960 に答える
0

Windbg ( https://pykd.codeplex.com ) で python を使用してみてください。 /drvobj.py とても簡単です!!!

于 2013-09-18T05:43:22.873 に答える