8

Visual Studio を使用せずにサイドバー ガジェットを作成しようとしています。それらをデバッグする方法を調べてみましたが、Visual Studio JIT デバッガーがそれを行う唯一の方法であるとすべてが述べています。

Visual Studio なしでサイドバー ガジェットをデバッグできた人はいますか?

4

2 に答える 2

16

何年もの間、Visual Studio を使用してガジェットを作成することはありませんでした。これを使わずにガジェットをデバッグする方法はいくつかありますが、それほど広範囲ではありません。たとえばdebugger;、プロセスに適切なデバッガーが接続されていないと、コマンドを使用できません。できることは、DebugViewSystem.Debug.outputString()のようなプログラムを使用して、メソッドによって出力されたメッセージをキャッチすることです。

function test ()
{
    System.Debug.outputString("Hello, I'm a debug message");
}

これにより、コードの特定の段階で変数のダンプやその他の有用な情報を出力できるため、好きなように追跡できます。

別の方法として、 を使用して独自のデバッグ/スクリプト停止メッセージをロールすることもできますwindow.prompt()alert()はガジェットでconfirm()は無効になっており、常に true を返すようにオーバーライドされていますが、見落としていたに違いありませんprompt()

function test ()
{
     // execute some code

     window.prompt(someVarToOutput, JSON.stringify(someObjectToExamine));

     // execute some more code
}

このJSON.stringify()メソッドは、コードの実行中にオブジェクトの状態を調べたい場合に非常に役立ちます。

の代わりにwindow.prompt、VBScriptMsgBox()関数を使用することもできます。

window.execScript( //- Add MsgBox functionality for displaying error messages
      'Function vbsMsgBox (prompt, buttons, title)\r\n'
    + ' vbsMsgBox = MsgBox(prompt, buttons, title)\r\n'
    + 'End Function', "vbscript"
);

vbsMsgBox("Some output message", 16, "Your Gadget Name");

最後に、イベント ハンドラーを使用して、スクリプトですべてのエラーをキャッチできます。window.onerror

function window.onerror (msg, file, line)
{
    // Using MsgBox
    var ErrorMsg = 'An error has occurred'+(line&&file?' in '+file+' on line '+line:'')+'.  The message returned was:\r\n\r\n'+ msg + '\r\n\r\nIf the error persists, please report it.';
    vbsMsgBox(ErrorMsg, 16, "Your Gadget Name");

    // Using System.Debug.outputString
    System.Debug.outputString(line+": "+msg);

    // Using window.prompt
    window.prompt(file+": "+line, msg);        

    // Cancel the default action
    return true;
}

このwindow.onerrorイベントでは、エラーが発生した行番号とファイル (IE8 でのみ正確) を出力することもできます。

デバッグを頑張ってください。ガジェットを公開するときは、window.prompts または MsgBoxes を残さないでください。

于 2010-02-18T11:30:51.920 に答える
9

Windows 7 では、特定の PC で実行時にスクリプト エラーを表示する新しいレジストリ キーが追加されました。

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Sidebar]
"ShowScriptErrors"=dword:00000001

この値を設定すると、スクリプト エラーが発生したときにダイアログが表示されます。

于 2010-05-21T19:16:22.757 に答える