Dans le développement web moderne, il est courant de s'appuyer sur des bibliothèques tels que jQuery, Ember, ou Angular, et 99% du temps on peut supposer qu'elles fonctionnent parfaitement. On ne se soucie alors pas de l'implémentation interne de ces librairies : on les considère comme des boites noires. Cependant l'abstraction des bibliothèques « cède » lors des sessions de débogage lorsqu'on est forcé de passer par des piles d'appels utilisant la bibliothèque pour accéder à son propre code. Avec le système de boite noire, il est possible d'indiquer au débogueur d'ignorer les détails des sources sélectionnées.
Il est possible de mettre/enlever une source dans une boîte noire en sélectionnant la source dans le panneau de la liste des sources puis en cliquant sur l'icône en forme d'œil en bas à gauche :
Il est possible de placer plusieurs fichiers sources dans des boîtes noires en ouvrant la Barre de développement et utilisant la commande dbg blackbox
:
Quand une source est mise dans une boîte noire :
- Tous les points d'arrêt concernant ce(s) fichier(s) sont désactivés.
- Lorsque l'option « Pause sur les exceptions » dans les options du Débogueur est activée, le débogueur ne s'arrêtera pas lorsqu'une exception est levée par une source dans une boite noire. Dans ce cas, le débogueur attendra que la pile arrive à une frame dans une source qui n'est pas dans une boîte noire.
- Lors d'un débogage pas à pas, le débogueur passera sans s'arrêter dans une source mis en boîte noire.