.cache(设置缓存大小)

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

.cache Size 
.cache Option 
.cache 

参数

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

选项
可以是以下任一选项:

保留
禁用自动缓存刷新。

unhold
关闭 “保留 ”选项。 (这是默认设置。)

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

nodecodeptes
关闭 解码选项

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

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

注意 在实时调试期间,必须先激活 forcedecodeuser (或 forcedecodeptes) ,然后才能使用 .thread (Set Register Context) .context (Set User-Mode Address Context) .process (Set Process Context) !session 。 如果将 /p 选项与 .thread.process 一起使用,则会自动设置 forcedecodeuser 选项。 在任何其他情况下,都需要显式使用 .cache forcedecodeuser 命令。

noforcedecodeptes
关闭 forcedecodeptesforcedecodeuser 选项。 (这是默认设置。)

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

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

刷新地址
删除缓存的 4096 字节块,从 “地址”开始。

环境

模式

仅限内核模式

目标

仅实时调试

平台

all

注解

如果使用不带参数的 .cache ,则显示当前缓存大小、状态和选项。

.cache forcedecodeuser.cache forcedecodeptes 选项仅在调试器仍中断到目标计算机时持续。 如果执行或单步执行目标, 则 noforcedecodeptes 状态将再次生效。 这可以防止调试器以无效的方式干扰执行或重新启动。