脚本文件是一个包含一系列调试器命令的文本文件。调试器可以通过多种方式加载并执行脚本文件。脚本文件可以包含按顺序执行的命令,也可以使用更复杂的执行流程。
可以按下述方式之一执行一个脚本文件:
(1) ( 仅限 KD 和 CDB;仅在调试器启动时 )创建一个名为 Ntsd.ini 的脚本文件,并将其放在启动调试器的目录中。调试器启动时会自动执行此文件。要使用其他文件作为启动脚本,请使用 -cf 命令行选项或在 Tools.ini 文件中使用 IniFile 条目指定路径和文件名。
(2) (仅限 KD 和 CDB;每次会话启动时)创建一个脚本文件,并使用 `-cfr` 命令行选项指定其路径和文件名。调试器会在启动时以及每次目标重启时自动执行此脚本文件。
(3) 使用 ,
,
和
命令在调试器运行后执行脚本文件。有关语法的更多信息,请参阅
,
,
,
(运行脚本文件) 。
和
命令与其他脚本运行方法有一个重要的区别。使用这些命令时,调试器会打开指定的脚本文件,将所有回车符替换为分号,并将生成的文本作为单个命令块执行。这些命令对于运行包含调试器命令程序的脚本非常有用。有关这些程序的更多信息,请参阅“使用调试器命令程序”。
即使脚本文件在 WinDbg 中执行,也无法在脚本文件中使用仅在 WinDbg 中可用的命令(例如 .lsrcfix(使用本地源服务器)、.lsrcpath(设置本地源路径)、.open(打开源文件)和 .write_cmd_hist(写入命令历史记录)) 。此外,也无法在脚本文件中使用 .beep(扬声器提示音)、.cls(清除屏幕)、.hh(打开 HTML 帮助文件)、.idle_cmd(设置空闲命令)、.remote(创建远程 .exe 服务器)、内核模式 .restart(重启内核连接)、用户模式 .restart(重启目标应用程序)或 .wtitle(设置窗口标题)命令。
WinDbg 支持与 KD 和 CDB 相同的脚本,但有一个细微的例外。只能在 KD 或 CDB 使用的脚本文件中使用 .remote_exit(退出调试客户端)命令。无法通过在 WinDbg 中执行的脚本退出调试客户端。

4万+

被折叠的 条评论
为什么被折叠?



