使用脚本文件

脚本文件是包含调试器命令序列的文本文件。 调试器可以通过多种方式加载脚本文件并执行它。 脚本文件可以包含要按顺序执行的命令,也可以使用更复杂的执行流。

若要执行脚本文件,可以执行以下操作之一:

  • (仅 KD 和 CDB;仅在调试器启动时)创建一个名为Ntsd.ini的脚本文件,并将其放入从中启动调试器的目录中。 调试器启动时,调试器会自动执行此文件。 若要对启动脚本文件使用不同的文件,请使用 -cf 命令行选项或使用 Tools.ini 文件中的 IniFile 条目指定路径和文件名

  • (仅 KD 和 CDB;每次会话启动时)使用 -cfr 命令行选项创建脚本文件并指定其路径和文件名。 调试器在调试器启动时以及每次重新启动目标时自动执行此脚本文件。

  • 运行调试器后,使用 $<、$><$<$ 和 $$>< 命令执行脚本文件。 有关语法的详细信息,请参阅 $、$<、$><、$><$>< (运行脚本文件)。

$><$$>< 命令与其他运行脚本的方法不同,以一个重要方式运行。 使用这些命令时,调试器将打开指定的脚本文件,将所有回车符替换为分号,并将生成的文本作为单个命令块执行。 这些命令可用于运行包含调试器命令程序的脚本。 有关这些程序的详细信息,请参阅 使用调试器命令程序。X

不能在脚本文件中使用仅在 WinDbg(如 .lsrcfix(使用本地源服务器)、.lsrcpath(设置本地源路径).open(开放源文件).write_cmd_hist(写入命令历史记录)中的命令,即使脚本文件在 WinDbg 中执行也是如此。 此外,不能使用 .beep(扬声器 Beep).cls(清除屏幕)、.hh(打开 HTML 帮助文件).idle_cmd(设置空闲命令).remote(创建Remote.exe服务器)、内核模式 .restart(重启内核连接)、用户模式 .restart (重启目标应用程序).wtitle (设置窗口标题)脚本文件中的命令。

WinDbg 支持与 KD 和 CDB 相同的脚本,但有一个小例外。 只能在 KD 或 CDB 使用的脚本文件中使用 .remote_exit(退出调试客户端) 命令。 虽然在 WinDbg 中执行的脚本,但无法退出调试客户端。