2016-10-10 2 views
1

Ich habe eine .dmp für einen Pool Leck Fall und ich habe das Tag identifiziert, das das Problem verursacht, aber es sind viele Module für dieses Tag geladen. Ich versuche, Skript mit eb in WinDBG zu bearbeiten, um die Modulnamen zu bearbeiten, so dass ich identifizieren kann, welches ist. Ich habe eine Menge verschiedener Einstellungen für diese Anweisung ausprobiert und ich kann nicht erreichen, dass es genau das tut, was ich möchte, indem ich alle Module des Pool-Tags durchlaufe und sie umbenenne, indem ich den letzten Buchstaben des Tags durch eine Zahl ersetze.Syntaxfehler on .foreach Anweisung

.block {r @$t0=0x31; !for_each_module .foreach(obj {s -[1]a @#Base @#End "FMfn"}){r @$t0 = @$t0+1; eb ${obj}+3 @$t0}} 

Dies ist der letzte Fehler Ich erhalte

@$t0+1' 
                    ^Syntax error in '.foreach(obj {s -[1]a fffff96000925000 fffff9600095f000 "FMfn"}){r @$t0 = @$t0+1' 
Couldn't resolve error at '${obj}+3 $t0}' 

Kann jemand mir helfen herauszufinden, wo ich falsch gehe?

Antwort

2

die Dokumentation nach, !for_each_module muss Anführungszeichen um den Befehl string:

!for_each_module ["CommandString"] 

und nach meinen Tests, die sie scheinen nicht optional zu sein, so dass die Anführungszeichen hinzufügen und vorhandene Anführungszeichen wie folgt zu entkommen :

.block {r @$t0=0x31; !for_each_module ".foreach(obj {s -[1]a @#Base @#End \"FMfn\"}){r @$t0 = @$t0+1; eb ${obj}+3 @$t0}"}