.cache (Set Cache Size)
The .cache command sets the size of the cache used to hold data obtained from the target. Also sets a number of cache and memory options.
.cache Size .cache Option .cache
The size of the kernel debugging cache, in kilobytes. If Size is zero, the cache is disabled. The command output displays the cache size in bytes. (The default size is 1000 KB.)
Can be any one of the following options:
Automatic cache flushing is disabled.
Turns off the hold option. (This is the default setting.)
All transition page table entries (PTEs) will be implicitly decoded. (This is the default setting.)
Turns off the decodeptes option.
All virtual addresses will be translated into physical addresses before access. This option also causes the cache to be disabled. Unless you are concerned with kernel-mode memory, it is more efficient to use forcedecodeuser instead.
All user-mode virtual addresses will be translated into physical addresses before access. This option also causes the cache to be disabled.
Note You must activate forcedecodeuser (or forcedecodeptes) before using .thread (Set Register Context), .context (Set User-Mode Address Context), .process (Set Process Context), or !session during live debugging. If you use the /p option with .thread and .process, the forcedecodeuser option is automatically set. In any other case, you will need to use the .cache forcedecodeuser command explicitly.
Turns off the forcedecodeptes and forcedecodeuser options. (This is the default setting.)
Deletes the entire virtual memory cache.
Deletes all entries of ranges with errors from the cache, as well as all user-mode entries.
Deletes a 4096-byte block of the cache, beginning at Address.
kernel mode only
live debugging only
If .cache is used with no arguments, the current cache size, status, and options are displayed.
The .cache forcedecodeuser or .cache forcedecodeptes option will only last as long as the debugger remains broken into the target computer. If any stepping or execution of the target takes place, the noforcedecodeptes state will again take effect. This prevents the debugger from interfering with execution or a reboot in an unproductive manner.