次の方法で共有


.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

関連項目

.scriptload (スクリプトの読み込み)

JavaScript デバッガー スクリプト