.cache (Cachegröße festlegen)
Mit dem Befehl ".cache " wird die Größe des Caches festgelegt, der zum Speichern von Daten verwendet wird, die vom Ziel abgerufen wurden. Legt außerdem eine Reihe von Cache- und Speicheroptionen fest.
.cache Size
.cache Option
.cache
Parameter
Größe
Die Größe des Kerneldebuggingcaches in Kilobyte. Wenn "Size" null ist, wird der Cache deaktiviert. Die Befehlsausgabe zeigt die Cachegröße in Bytes an. (Die Standardgröße beträgt 1000 KB.)
Option
Es kann eine der folgenden Optionen gewählt werden:
Sperre
Das automatische Leeren des Caches ist deaktiviert.
nicht eingelesen
Deaktiviert die Option " Halten" . (Dies ist die Standardeinstellung.)
Decodierungen
Alle Einträge der Übergangsseitentabelle (Transition Page Table Entries, PTEs) werden implizit decodiert. (Dies ist die Standardeinstellung.)
nodecodeptes
Deaktiviert die Decodierungsoption .
Forcedecodeptes
Alle virtuellen Adressen werden vor dem Zugriff in physische Adressen übersetzt. Diese Option bewirkt auch, dass der Cache deaktiviert wird. Sofern Sie sich nicht mit dem Kernelmodusspeicher befassen, ist es effizienter, stattdessen "forcedecodeuser" zu verwenden.
forcedecodeuser
Alle virtuellen Benutzermodusadressen werden vor dem Zugriff in physische Adressen übersetzt. Diese Option bewirkt auch, dass der Cache deaktiviert wird.
Hinweis: Sie müssen forcedecodeuser (oder forcedecodeptes) aktivieren, bevor Sie .thread (Set Register Context), .context (Set User-Mode Address Context), .process (Set Process Context) oder !session während des Livedebuggings verwenden. Wenn Sie die Option "/p " mit ".thread " und ".process" verwenden, wird die Option "forcedecodeuser " automatisch festgelegt. In jedem anderen Fall müssen Sie den Befehl ".cache forcedecodeuser " explizit verwenden.
noforcedecodeptes
Deaktiviert die Optionen "forcedecodeptes" und "forcedecodeuser ". (Dies ist die Standardeinstellung.)
flushall
Löscht den gesamten virtuellen Speichercache.
Flushu
Löscht alle Einträge von Bereichen mit Fehlern aus dem Cache sowie alle Benutzermoduseinträge.
flush Address
Löscht einen 4096-Byte-Block des Caches, beginnend bei Address.
Environment
Modi |
Nur Kernelmodus |
Targets |
Nur Livedebugging |
Platforms |
Alle |
Hinweise
Wenn .cache ohne Argumente verwendet wird, werden die aktuelle Cachegröße, der aktuelle Status und die Optionen angezeigt.
Die Option ".cache forcedecodeuser " oder ".cache forcedecodeptes " dauert nur, solange der Debugger auf dem Zielcomputer unterbrochen bleibt. Wenn ein Schritt oder eine Ausführung des Ziels stattfindet, wird der Status "noforcedecodeptes " erneut wirksam. Dadurch wird verhindert, dass der Debugger die Ausführung oder einen Neustart unproduktiv beeinträchtigt.