.scriptrun (スクリプトの実行)
.scriptrunコマンドはJavaScriptをロードして実行する。
.scriptrun ScriptFile
パラメーター
ScriptFile
ロードして実行するスクリプトファイル名を指定する。 ScriptFile should include the .js file name extension. 絶対パスも相対パスも使用できる。 相対パスは、デバッガーを起動したディレクトリからの相対パスです。 スペースを含むファイルパスはサポートされていません。
Environment
項目 | 説明 |
---|---|
モード | ユーザー モード、カーネル モード |
対象 | ライブ、クラッシュ ダンプ |
プラットフォーム | すべて |
追加情報
.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 (Load Extension DLL) コマンドを使用してJavaScriptプロバイダーDLLをロードします。
0:000> .load C:\ScriptProviders\jsprovider.dll