.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
关闭 forcedecodeptes 和 forcedecodeuser 选项。 (这是默认设置。)
flushall
删除整个虚拟内存缓存。
flushu
从缓存中删除包含错误的所有范围条目,以及所有用户模式条目。
刷新地址
删除缓存的 4096 字节块,从 “地址”开始。
环境
模式 |
仅限内核模式 |
目标 |
仅实时调试 |
平台 |
all |
注解
如果使用不带参数的 .cache ,则显示当前缓存大小、状态和选项。
.cache forcedecodeuser 或 .cache forcedecodeptes 选项仅在调试器仍中断到目标计算机时持续。 如果执行或单步执行目标, 则 noforcedecodeptes 状态将再次生效。 这可以防止调试器以无效的方式干扰执行或重新启动。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈