.scriptdebug (Débogage JavaScript)
Utilisez la commande .scriptdebug pour déboguer les scripts JavaScript.
.scriptdebug FileName
Paramètres
FileName
Spécifie le nom du script JavaScript du débogueur à déboguer.
Environnement
Les modes |
all |
Targets |
all |
Plateformes |
all |
Informations supplémentaires
Pour un aperçu du débogage JavaScript, veuillez consulter la section JavaScript Debugger Scripting - JavaScript Debugging.
Remarque
Pour utiliser le débogage JavaScript avec WinDbg, exécutez le débogueur en tant qu’administrateur.
Notes
Avant de déboguer un script JavaScript, effectuez les étapes suivantes :
Chargez le script d’exemple.
0:000> .scriptload C:\MyScripts\DebuggableSample.js
Pour commencer à déboguer activement le script, utilisez la commande .scriptdebug.
0:000> .scriptdebug C:\MyScripts\DebuggableSample.js
>>> ****** DEBUGGER ENTRY DebuggableSample ******
No active debug event!
>>> Debug [DebuggableSample <No Position>] >
Une fois que vous voyez l’invite >>> Debug [DebuggableSample <No Position>] >
et une demande d’entrée, vous êtes à l’intérieur du débogueur de script.
Utilisez la commande .help ou ? pour afficher une liste de commandes dans l’environnement de débogage 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
Événements
Utilisez la commande de débogueur de script sx pour voir la liste des événements qui peuvent être interceptés.
>>> 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
Utilisez la commande de débogueur de script sxe pour activer l’un des comportements de pause. Par exemple, pour activer la pause à l’entrée afin que le script se fige dans le débogueur de script dès que du code à l’intérieur s’exécute, utilisez cette commande.
>>> Debug [DebuggableSample <No Position>] >sxe en
sxe en
Event filter 'en' is now active
Utilisez la commande de débogueur de script sxd pour désactiver l’un des comportements de point d’arrêt.
>>> Debug [DebuggableSample 34:5] >sxd en
sxd en
Event filter 'en' is now inactive
Arborescence des appels de procédure
Utilisez la commande k pour afficher une trace de la pile.
>>> 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())
Énumération des variables
Utilisez ?? pour énumérer les valeurs des variables JavaScript.
>>> Debug [DebuggableSample 34:5] >??someObj
??someObj
someObj : {...}
__proto__ : {...}
a : 0x63
b : {...}
Points d’arrêt
Utilisez les commandes de point d’arrêt suivantes pour travailler avec des points d’arrêt supplémentaires.
bpid <>: Définir un point d’arrêt
bd <bpid> : Désactiver le point d’arrêt
be <bpid> : Activer le point d’arrêt
bc <bpid> : Effacer le point d’arrêt
bpc : Définir un point d’arrêt sur la ligne actuelle
bl : Répertorier le ou les points d’arrêt
Contrôle de flux - navigation
Utilisez les commandes suivantes pour avancer dans le script.
p: Passer à l’étape suivante
t : Entrer dans
g : Continuer le script
gu: Sortir
Infrastructures
Utilisez les commandes suivantes pour travailler avec les cadres.
.frame <index>: Passer au cadre numéro <index>
.f+ : Passer au cadre suivant de la pile
.f+ : Passer au cadre précédent de la pile
Quitter
Utilisez la commande .detach pour détacher le débogueur JavaScript.
>>> Debug [DebuggableSample 34:5] >.detach
.detach
Debugger has been detached from script!
Utilisez la commande q pour quitter le débogueur JavaScript.
>>> Debug [<NONE> ] >q
q
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour