web-dev-qa-db-fra.com

Comment définir un point d'arrêt sur une fonction JS minifiée dans Chrome ou Safari?

Je voudrais définir un point d'arrêt dans une fonction "Cart.add" dans le Chrome ou débogueurs JavaScript Safari. Le problème est que cette fonction est définie dans un grand fichier JS minifié et ne fonctionne pas) t existent sur une ligne par lui-même.

Certaines documentations indiquent que les débogueurs WebKit prennent en charge les commandes "pause" ou "débogage" dans la console de débogage, mais celles-ci ne semblent pas fonctionner dans les versions plus récentes du débogueur.

La définition d'un point d'arrêt sur cette ligne du fichier JS ne fonctionne pas non plus, car il y a beaucoup de fonctions sur cette ligne.

Aucune suggestion?

59
Blake Scholl

Dans Chrome lorsque vous ouvrez l'onglet Scripts, vous pouvez affiner le fichier sélectionné en cliquant sur { } bouton ("Pretty print") en bas. Après cela, vous pouvez trouver votre ligne et définir un point d'arrêt. Le code restera optimisé avec des points d'arrêt en place après une actualisation de la page.

156
serg

L'instruction debugger est probablement ce que vous recherchez.

L'évaluation de la production DebuggerStatement peut permettre à une implémentation de provoquer un point d'arrêt lorsqu'elle est exécutée sous un débogueur. Si un débogueur n'est pas présent ou actif, cette instruction n'a aucun effet observable.

La production DebuggerStatement : debugger ; est évalué comme suit:

  1. Si une fonction de débogage définie par l'implémentation est disponible et activée, alors

    une. Effectuez une action de débogage définie par l'implémentation.

    b. Soit result une valeur d'achèvement définie par l'implémentation.

  2. Else

    une. Que le résultat soit (normal, vide, vide).

  3. Résultat de retour.

L'instruction break sert à quitter les boucles et les instructions switch et n'a rien à voir avec le débogage.

La vraie solution est de ne pas bugger votre code en premier lieu :)

5
Mike Samuel