Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Используйте команду .scriptdebug для отладки скриптов JavaScript.
.scriptdebug FileName
Параметры
FileName
Указывает имя скрипта JavaScript отладчика для отладки.
Среда
Режимы |
all |
Целевые объекты |
all |
Платформы |
all |
Дополнительная информация
Общие сведения об отладке JavaScript см. в статье "Скрипты отладчика JavaScript" — отладка JavaScript.
Примечание.
Чтобы использовать отладку JavaScript с WinDbg, запустите отладчик как Администратор istrator.
Замечания
Перед отладкой JavaScript выполните следующие действия.
Загрузите пример скрипта.
0:000> .scriptload C:\MyScripts\DebuggableSample.js
Чтобы начать активную отладку скрипта, используйте команду scriptdebug .
0:000> .scriptdebug C:\MyScripts\DebuggableSample.js
>>> ****** DEBUGGER ENTRY DebuggableSample ******
No active debug event!
>>> Debug [DebuggableSample <No Position>] >
Когда появится запрос >>> Debug [DebuggableSample <No Position>] > и запрос на ввод, вы находитесь в отладчике скрипта.
Используйте команду .help или ? для отображения списка команд в среде отладки JavaScript.
>>> Debug [DebuggableSample <No Position>] >.help
Script Debugger Commands (*NOTE* IDs are **PER SCRIPT**):
? .................................. Get help
? <expr> .......................... Evaluate expression <expr> and display result
?? <expr> ......................... Evaluate expression <expr> and display result
| ................................. List available scripts
|<scriptid>s ...................... Switch context to the given script
bc \<bpid\> ......................... Clear breakpoint by specified \<bpid\>
bd \<bpid\> ......................... Disable breakpoint by specified \<bpid\>
be \<bpid\> ......................... Enable breakpoint by specified \<bpid\>
bl ................................ List breakpoints
bp <line>:<column> ................ Set breakpoint at the specified line and column
bp <function-name> ................ Set breakpoint at the (global) function specified by the given name
bpc ............................... Set breakpoint at current location
dv ................................ Display local variables of current frame
g ................................. Continue script
gu ............................... Step out
k ................................. Get stack trace
p ................................. Step over
q ................................. Exit script debugger (resume execution)
sx ................................ Display available events/exceptions to break on
sxe <event> ....................... Enable break on <event>
sxd <event> ....................... Disable break on <event>
t ................................. Step in
.attach <scriptId> ................ Attach debugger to the script specified by <scriptId>
.detach [<scriptId>] .............. Detach debugger from the script specified by <scriptId>
.frame <index> .................... Switch to frame number <index>
.f+ ............................... Switch to next stack frame
.f- ............................... Switch to previous stack frame
.help ............................. Get help
События
Используйте команду отладчика скрипта sx, чтобы просмотреть список событий, которые могут быть захвачены.
>>> Debug [DebuggableSample <No Position>] >sx
sx
ab [ inactive] .... Break on script abort
eh [ inactive] .... Break on any thrown exception
en [ inactive] .... Break on entry to the script
uh [ active] .... Break on unhandled exception
Используйте команду отладчика скрипта sxe, чтобы включить любое поведение останова. Например, чтобы включить разрыв для записи, чтобы скрипт заловился в отладчик скрипта, как только любой код в нем выполняется, используйте эту команду.
>>> Debug [DebuggableSample <No Position>] >sxe en
sxe en
Event filter 'en' is now active
Используйте команду отладчика скрипта sxd, чтобы отключить любое поведение точки останова.
>>> Debug [DebuggableSample 34:5] >sxd en
sxd en
Event filter 'en' is now inactive
Трассировка стека
Используйте команду k для отображения трассировки стека.
>>> Debug [DebuggableSample 34:5] >k
k
## Function Pos Source Snippet
-> [00] throwAndCatch 034:05 (var curProc = host.currentProcess)
[01] outer 066:05 (var foo = throwAndCatch())
[02] outermost 074:05 (var result = outer())
Перечисление переменных
Используйте ?? для перечисления значений переменных JavaScript.
>>> Debug [DebuggableSample 34:5] >??someObj
??someObj
someObj : {...}
__proto__ : {...}
a : 0x63
b : {...}
Точки останова
Используйте следующие команды точки останова для работы с дополнительными точками останова.
bpid<>: Установка точки останова
bd <bpid>: отключение точки останова
be <bpid>: Включить точку останова
bc <bpid>: очистка точки останова
bpc: установка точки останова в текущей строке
bl: вывод списка точек останова
Управление потоком — навигация
Используйте следующие команды, чтобы перейти вперед в скрипте.
p: шаг
t: шаг в
g. Продолжить скрипт
gu: выход
Кадров
Используйте следующие команды для работы с кадрами.
Индекс> .frame: переключение на индекс номера кадров <<>
.f+: переключение на следующий кадр стека
.f+: переключение на предыдущий кадр стека
Выход из программы
Используйте команду .detach для отсоединения отладчика JavaScript.
>>> Debug [DebuggableSample 34:5] >.detach
.detach
Debugger has been detached from script!
Используйте команду q, чтобы выйти из отладчика JavaScript.
>>> Debug [<NONE> ] >q
q