.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