Puis-je dire au débogueur de script Chrome d'ignorer jquery.js?


98

Existe-t-il un moyen de dire au débogueur Chrome (ou peut-être à Firebug?) De ne pas casser dans certains fichiers? Pour supposer qu'ils ne sont pas cassés, essentiellement? Cela semble être quelque chose qu'ils pourraient intégrer.


3
Cela me serait particulièrement utile dans le cadre d'événements jquery. Lorsqu'un événement est déclenché, vous devez parcourir beaucoup de choses pour déterminer quels gestionnaires sont appelés.
tofarr

Il semble que vous devriez marquer jfriend00 comme réponse. Je n'ai pas pu trouver la raison de ce comportement ennuyeux, et sa réponse l'a résolu.
OrPaz

@OrPaz Je ne suis pas d'accord, mon problème (et ma compréhension du problème de Josh) est que nous débogageons notre fichier, mais cela ne signifie pas qu'une exception est levée. Mon hypothèse est que mon code est le problème et non celui de jQuery, donc je ne veux jamais déboguer jQuery. Je pense à cela comme le DebuggerHiddenAttribute dans .NET
Nathan Koop

J'ai voté pour la réponse de jfriend00, car elle pourrait être utile aux personnes qui rencontrent cette question, mais je ne l'ai pas marquée comme la bonne réponse, car Nathan Koop a raison, cela ne résout pas mon problème.
Josh Schultz

Réponses:


47

Blackboxing des fichiers JS est désormais possible dans Firefox https://developer.mozilla.org/en-US/docs/Tools/Debugger

Et dans Chrome Canary à l'aide des outils de développement expérimental. http://www.divshot.com/blog/tips-and-tricks/ignoring-library-code- while-debugging-in-chrome/

Mettre à jour . Dans Chrome v. 75 il y a un separabe onglet pour blackboxing .

Ci-dessus fonctionne également dans la version stable de Chrome.


7
La Blackboxing ne semble pas obliger le débogueur à ignorer le fichier. Il passera toujours par ses appels de fonction ... Ignorer complètement un fichier serait bien.
Antonio Brandao

4
C'est le but de la blackboxing - exécuter le code sans voir son contenu.
diynevala

1
N'est-ce pas de la blackboxing quand vous ne parcourez tout simplement pas les autres bibliothèques, pas qu'elles n'existent pas ou qu'elles ne sont pas utilisées.
johnny


31

La dernière version de Chrome a mis en œuvre une nouvelle fonctionnalité de boîte noire qui fait exactement ce que vous recherchez. Fondamentalement, lorsque vous définissez l'option boîte noire sur un fichier donné, cela empêchera le débogueur Chrome de pénétrer dans ce fichier.

Cette fonctionnalité est intégrée et peut être définie avec le menu contextuel du fichier (clic droit). Cela fonctionnera également si le débogueur Chrome est configuré pour s'arrêter sur toutes les exceptions.


2
Solution très propre Aucun plug-in nécessaire.
George Botros

3
Ne fonctionne plus malheureusement. Si vous avez coché "Pause On Caught Exceptions", puis blackbox jQuery, il se cassera toujours sur les exceptions.
blackmamba

15

Si le problème que vous rencontrez est que le débogueur Chrome s'arrête sur toutes les exceptions, même celles à l'intérieur de jQuery, vous devrez peut-être dire à Chrome de ne mettre en pause que les exceptions non interceptées, pas toutes les exceptions. Dans le panneau Script du débogueur, il y a une icône dans le coin inférieur gauche de la fenêtre qui contrôle cela.


M'a sauvé avec ça! Merci! (+ 1)
OrPaz

12

Dans Chrome, ouvrez les outils de développement, puis accédez aux paramètres, et vous verrez l' onglet Blackbox :

Boîte noire chromée

Dans FireFox, c'est encore plus facile, il suffit de cliquer sur l'oeil au bas du fichier:

Boîte noire FireFox


Vous venez de faire de ma vie le paradis! Merci!
Je ne sais pas

7
  1. Accédez aux paramètres des outils de développement et cliquez sur l'onglet Balckboxing dans le panneau de gauche.
  2. Cliquez ensuite sur le bouton Ajouter un modèle et tapez jquery.js
  3. Fermez et rouvrez les outils de développement, maintenant c'est ignoré!

2

Si le débogueur explose quelque part dans les fichiers jQuery, vous pouvez potentiellement encapsuler les appels suspects dans un try / catch, puis lancer une erreur dans le vôtre catch. De cette façon, vous pouvez isoler exactement où vous allez mal.

Je serais plus enclin à faire des traces de pile pour voir pourquoi mon code explose, par exemple JSON invalide, que d'essayer de le passer en revue.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.