--- title: Отладка кода внутри eval slug: Tools/Debugger/How_to/Debug_eval_sources tags: - Отладка translation_of: Tools/Debugger/How_to/Debug_eval_sources original_slug: Tools/Debugger/How_to/Отладка_кода_внутри_eval ---
Доступно, начиная с Firefox 36.
В Firefox версии 36 или старше доступна отладка кода, выполняемого с помощью eval() или конструктора Function.
Чтобы воспользоваться этой возможностью, используйте директиву //# 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".
Как только скрипт из строки script будет выполнен, он станет доступен в дебаггере как отдельный источник, а также будет доступен к отладке, как код из любого другого источника. Кроме этого, появится возможность, представить код в удобочитаемом виде:

Это имя также будет использоваться в стеке вызовов функций, доступном в веб-консоли.
Начиная с Firefox 40, оператор debugger; также останавливает дебаггер в безымянных источниках выполнения.