1

私は、いくつかの WinDbg コマンドを実行し、いくつかの出力を出力し、.foreach を使用して他のコマンドを解析するスクリプトに取り組んでいます。

私の問題は、実行しようとしたときです:

0: kd> dt -b -r 0xdeadbeef drivername!DRIVER_DEVICE_CONTEXT

出力は次のようになります。

   +0x000 variable1 : 5
   +0x004 variable2 : 0
   +0x008 variable3 : 1
   +0x00c variable4 : 1
   +0x010 variable5 : 8
   +0x014 variable6 : (null)
   +0x018 variable7 : 1
   +0x01c table1 :  ""
    [00] 0 ''
    [01] 0 ''
    [02] 0 ''
    [03] 0 ''

...

そのコマンドであるエイリアス「コマンド」を作成してから実行します:

.foreach(word {command}) { .echo "word" }

エラーが発生します:

Syntax error at .echo """"

word が "" の場合、単に .continue する方法はありますか??

al を実行すると、次のように表示されます。

  Alias            Value  
 -------          -------
 command          dt -b -r 0xdeadbeef drivername!DRIVER_DEVICE_CONTEXT
 word             ""
4

1 に答える 1

1

一重引用符で試してください:

.foreach(word {command}) { .echo 'word' }

python と windbg の併用をお勧めできますか? それはあなたの人生を楽にします:)

pykd.codeplex.com

気に入らない場合は、いつでも返品できます:)。

例えば:

DRIVER_DEVICE_CONTEXT = typeInfo( "drivername!DRIVER_DEVICE_CONTEXT" )

for fieldName, fieldType in DRIVER_DEVICE_CONTEXT:
   print fieldName
于 2013-09-26T06:35:24.933 に答える