.cache(设置缓存大小)

.cache 命令设置用于保存从目标获取的数据的缓存的大小。 此外,还设置许多缓存和内存选项。

.cache Size 
.cache Option 
.cache 

参数

大小
内核调试缓存的大小(以 KB 为单位)。 如果 Size 为零,则禁用缓存。 命令输出显示缓存大小(以字节为单位)。 (默认大小为 1000 KB。)

选择
可为以下任一选项:

hold
自动缓存刷新已禁用。

unhold
关闭 hold 选项。 (这是默认设置。)

decodeptes
所有转换页表条目 (PTE) 都将隐式解码。 (这是默认设置。)

nodecodeptes
关闭 decodeptes 选项。

forcedecodeptes
访问之前,会将所有虚拟地址转换为物理地址。 此选项还会促使禁用缓存。 除非担心内核模式内存,否则改用 forcedecodeuser 会更高效。

forcedecodeuser
访问之前,会将所有用户模式虚拟地址转换为物理地址。 此选项还会促使禁用缓存。

注意 在实时调试期间使用 .thread(设置寄存器上下文)、.context(设置用户模式地址上下文)、.process(设置进程上下文)或 !session 之前,必须激活 forcedecodeuser(或 forcedecodeptes)。 如果将 /p 选项用于 .thread 和 .process,则会自动设置 forcedecodeuser 选项。 在任何其他情况下,都需要显式使用 .cache forcedecodeuser 命令。

noforcedecodeptes
关闭 forcedecodeptes 和 forcedecodeuser 选项。 (这是默认设置。)

flushall
删除整个虚拟内存缓存。

flushu
删除缓存中出现错误的范围所有条目,以及所有用户模式条目。

flush Address
从 Address 开始,删除缓存的 4096 字节块。

环境

模式

仅内核模式

目标

仅限实时调试

平台

全部

注解

如果 .cache 没有使用任何参数,则会显示当前缓存大小、状态和选项。

仅当调试器仍进入目标计算机,.cache forcedecodeuser 或 .cache forcedecodeptes 选项就会持续存在。 如果步进或执行目标,noforcedecodeptes 状态将再次生效。 这可防止调试器以非生产方式干扰执行或重启。