.scriptrun(运行脚本)

.scriptrun 命令将加载并运行 JavaScript。

.scriptrun ScriptFile  

参数

ScriptFile
指定要加载和执行的脚本文件的名称。 ScriptFile 应包含 .js 文件扩展名。 可以使用绝对路径或相对路径。 相对路径相对于启动调试器的目录。 不支持包含空格的文件路径。

环境

说明
模式 用户模式、内核模式
目标 实时、崩溃转储
平台 全部

其他信息

.scriptrun 命令将加载脚本,并执行以下代码。

  • root
  • intializeScript
  • invokeScript

加载和执行代码时会显示一条确认消息。

0:000> .scriptrun C:\WinDbg\Scripts\helloWorld.js
JavaScript script successfully loaded from 'C:\WinDbg\Scripts\helloWorld.js'
Hello World!  We are in JavaScript!

脚本所做的任何对象模型操作都将保持原位,直到脚本随后被卸载或再次使用不同的内容运行。

下表汇总了 .scriptload 和 .scriptrun 执行的函数。

.scriptload .scriptrun
root
initializeScript
invokeScript
uninitializeScript

可以使用此代码查看使用 .script run 命令调用的函数。

// Root of Script
host.diagnostics.debugLog("***>; Code at the very top (root) of the script is always run \n");


function initializeScript()
{
    // Add code here that you want to run every time the script is loaded. 
    // We will just send a message to indicate that function was called.
    host.diagnostics.debugLog("***>; initializeScript was called \n");
}

function invokeScript()
{
    // Add code here that you want to run every time the script is executed. 
    // We will just send a message to indicate that function was called.
    host.diagnostics.debugLog("***>; invokeScript was called \n");
}

有关使用 JavaScript 的详细信息,请参阅 JavaScript 调试器脚本。 有关调试器对象的详细信息,请参阅 JavaScript 扩展中的本机对象

要求

在使用任何 .script 命令之前,需要加载脚本提供程序。 使用 .load (加载扩展 DLL)命令加载 JavaScript 提供程序 dll。

0:000> .load C:\ScriptProviders\jsprovider.dll

另请参阅

.scriptload(加载脚本)

JavaScript 调试器脚本