7

私は、かなりの数のユーザーが、Windows 用のAOL デスクトップ v9.7 (内部でブラウザー ウィンドウを生成する) を介してサイトを表示するサイトの開発に参加しています。デバッグ時に、通常は起動できるツールがありません (たとえば、Chrome の開発者コンソール、Firebug、MSIE のF12 開発者ツール)。

AOL Desktop 内では、これらのいずれも、または同様のものもないように見えます。呼び出すことができる開発者モードまたはコンソールはありますか?

4

2 に答える 2

8

私のコメントで私が意味したことは、手動のDOM検査機能を備えた非常にまともなJavaScriptデバッガーを使用することで、Visual Studio(無料版を含む[編集済み] )に付属していることです。いくつかのトリックを使えば、AOL デスクトップでも機能します (なんと面白いソフトウェアなのですか :) もちろん、これは IE の F12 ツールと同じではありません。視覚的な DOM ツリーや CSS トレースなどのインタラクティブな機能が欠けています。など。ただし、コードをステップ実行したり、ローカルとオブジェクトを監視したり、式を評価したり、DOM 要素にアクセスしたりすることはできます。これは非常に貴重なツールであり、WebBrowser コントロールをホストするプロジェクトでよく使用します。結局のところ、それは AOL も行っていることです。とにかく、すでにこれに精通している場合は、この投稿に笑顔を浮かべて無視してください. それ以外の場合は、読み進めてください:)


IE9、Visual Studio 2012 Pro (Update3)、および最新の AOL Desktop 9.7 を搭載した Win7 SP1 VM で、以下をテストしました。[編集済み]無料版のVisual Studio 2012 Express for Desktop、Update3 でも動作します。

唯一の大きな障害は、デバッガーに入ってから約 20 秒でAOL Browser が自動的に再起動し、デバッガーから切断されることでした。これを回避するには、AOL を閉じて次のファイルを削除します。

"C:\Program Files (x86)\AOL Desktop 9.7\" 
    shellmon.exe
    shellmon.ini
    shellrestart.exe

次に、デバッグ目的で次の基本的な HTML ファイルを使用しました (localhost のルートにある「debug.html」として)。

<!doctype html>
<html>
<head>
<title>Debugger Test Page</title>
<script>
function debugPrompt()
{
    if (confirm("debug?"))
    {
        debugger; // breakpoint
        alert("after debugger");
    }
}

document.onkeydown = function()
{
    if (event.altKey && event.ctrlKey && event.keyCode === 'D'.charCodeAt(0))
    {
        event.cancelBubble = true;
        debugPrompt();
        return;
    }
}
</script>
</head>
<body>
<button onclick="debugPrompt()">Debug</button>
</body>
</html>

これが私が正確にしたことです:

  • Internet Explorerその他の両方の IE 設定で、スクリプトのデバッグ有効になっていることを確認します。

IE スクリプトのデバッグ設定


  • [x] スクリプトがVS2012 Debugging Settings の Just-In-Timeセクションでチェックされていることを確認しました ( [EDITED]この機能はVS2012 Expressにはありませんが、それほど重要ではありません):

VS JIT デバッグ設定


  • AOL を実行し、localhost/debug.html に移動しました。

  • Visual Studio を実行し、 Debug/Attach to Processメニューを介してプロセスにアタッチしaolbrowser.exeます (対象のコードとしてスクリプトを使用)。

VS プロセスへのアタッチ


  • AOL に戻り、Ctrl-Alt-D を押します (上記の JavaScript で「デバッガー」プロンプトを呼び出します)。次に、VS Debuggerdebugger;のコード行にいます。この時点で、すべての通常のデバッグ機能が利用可能です。Immediate WindowパネルとWatch1パネルに注意してください。また、私が行ったようにキーワードを使用してブレークポイントをハードコーディングする代わりに、debuggerVisual Studioソリューションパネルを使用して (デバッガーがアタッチされたら)、ページによって読み込まれた JavaScript ファイルの 1 つを選択し、ブレークポイントを対話的に切り替えることができます。

VS デバッグ AOL


現在、Visual Studio Express 2012 を使用して同じことが可能かどうかを確認することはできませんが、可能であると思います。後でちょっとやってみます。

[更新]上記のほぼすべてが、無料で入手できるVisual Studio 2012 Express for Desktop w/ Update3に適用されますが、1 つの例外があります。Just -In-Time Debuggingオプションがないようです。ただし、実行中の AOL プロセスにアタッチして、現在ロードされているページを同じ方法でデバッグすることは引き続き可能であるため、これはショーストッパーではありません。

PS。そして、私の無関係な質問に対する自発的な報奨金の申し出に感謝します。それは本当に素晴らしいジェスチャーです.

于 2013-08-17T05:08:58.870 に答える