eval()
に渡される文字列や Function
コンストラクターに渡される文字列といった、動的に評価される JavaScript コードをデバッグできます。
これを行うために、//# sourceURL
ディレクティブを使用してソースに名前をつけなければなりません:
var button = document.getElementById("clickme"); button.addEventListener("click", evalFoo, false); var script = "function foo() {" + " console.log('called foo');" + "}" + "foo();//# sourceURL=my-foo.js"; function evalFoo() { eval(script); }
これは、スクリプトに "my-foo.js" という名前をつけます。
文字列が評価されるとデバッガーでは別のソースとして表示され、他のソースと同様にデバッグできます。また、ソースを 整形 できます:
ソースにつけた名前は、Web コンソール に現れるスタックトレースでも表示されます。
また、無名の eval ソース内にある debugger;
文でもデバッガーが停止します。