使用脚本文件

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

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

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

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

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

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

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

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