.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
关闭 forcedecodeptesforcedecodeuser 选项。 (这是默认设置。)

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

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

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

环境

模式

仅内核模式

目标

仅限实时调试

平台

全部

注解

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

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