Partially broken devtools

Bonjour,
(Firefox 67.04 sous ubuntu 18.04)
Je subis depuis quelques jours de sérieux problèmes avec Firefox devtools :

  • impossibilité fréquente de créer un break point sur une ligne de javascript (le n° de ligne reste grisé)
  • plusieurs breakpoints actifs dans les sources annex de ff (donc plusieurs appui sur F8 avant de voir enfin ma page apparaitre …)
  • certains breakpointsn’apparaissent pas dans la liste des bp à droite … mais restent actifs !
  • et la même page dans chrome fonctionne parfaitement.

Bref, le souk !
Comment puis-je uninstaller devtools (bien nettoyer dans les coins svp) et purger itou avant de le réinstaller ?
how can I uninstall and purge devtools (before I unstall it one more time) ?

Merci par avance de vos avis éclairés
Roland

Hello Roland,

Desolé pour ces problèmes, 68 vient de sortir, est-ce que vous rencontrez les meme soucis?

  • impossibilité fréquente de créer un break point sur une ligne de javascript (le n° de ligne reste grisé)

Cela nous aiderait si vous pouviez nous fournir un lien vers une page, ou un exemple pour reproduire le problème

  • plusieurs breakpoints actifs dans les sources annex de ff (donc plusieurs appui sur F8 avant de voir enfin ma page apparaitre …)

Qu’entendez vous par “sources annex de ff” ?
Avez vous activé “Pause on exception” a tout hasard?

Je me renseigne pour nettoyer les données du debugger

Bonjour Nicolas,
Merci de me répondre.
ci dessous une copie d’ écran de mon inspecteur :slight_smile:


Je viens de passer en safe mode, sans les extensions.
La ‘pause sur exception’ n’est jamais sélectionnée (j’apprends le reste avant :smile:).

Le fait que le nom du fichier sur lequel je n’arrive pas à poser de point d’arrêt soit précédé d’un oeil bleuCapture%20d%E2%80%99%C3%A9cran%20de%202019-07-10%2016-02-10 pourrait-il être la cause du problème ?
je n’arrive pas à trouver dans l’aide en ligne la signification de cet oeil bleu.

Merci par avance de votre avis sur ce point.
Roland

c’est en effet possible, cela signifie que le fichier est “blackboxé”, c’est a dire qu’on ne pourra jamais “breaker” dans ce fichier.
Vous pouvez enlever le script de la blackbox en cliquant sur l’icone “oeuil” dans la barre de status de l’editeur, en bas a gauche (dans votre screenshot, a droite de (25, 14)).
Je vais creer un bug afin de mettre en avant le fait que les breakpoints sont desactivés lorsque le fichier est dans la blackbox.

Merci pour les informations!

Effectivement, une fois dblcliqué sur l’oeil, il disparait et je peut mettre mes points d’arrêt :

Un dernier point m’inquiète :slight_smile:Je déclare sur le même objet (class=“tete”) deux écouteurs d’évènement, un sur click et un sur mouseover (screenshot ci dessus).
Les deux sont effectivement mis en oeuvre et je les retrouve dans l’inspecteur :


(les “\n” présents dans la première capture ont été remplacés par des “>br />” plus adéquats :face_with_monocle:)
Malheureusement, si l’évènement “click” fonctionne parfaitement, avec arrêt sur son point d’arrêt et réalisation parfaite de sa tache, l’évènement “mouseover” NE S’EXECUTE JAMAIS et le point d’arrêt de la ligne 36 n’est jamais visité.

Auriez-vous une idée, une piste, quelques petits cailloux blancs … ?

J’ai bien conscience d’abuser quelque peu de notre échange et de vos lumières. Merci par avance pour votre indulgence.

et pour répondre à une de vos premières questions, j’entends par “les sources annexes de ff” :
resource://gre/modules/ExtensionContent.jsm
moz-extension://9ae8f51c-7aec-418f-a66f-e197f0888863/js/contentscript.js
moz-extension://9ae8f51c-7aec-418f-a66f-e197f0888863/js/scriptlets/subscriber.js
moz-extension://9ae8f51c-7aec-418f-a66f-e197f0888863/js/vapi-client.js
qui sont systématiquement chargés dans devtools

Avez vous essayé de mettre un console.log dans la fonction appelée par le mouseover pour etre sûr qu’elle est bien appelée?

Ce sont les scripts des webextensions que vous avez installé dans Firefox et qui sont donc chargés sur chaque page (c’est pourquoi ils apparaissent dans le debugger)

je viens d’essayer et mon “console.log(‘mouseover’);” ne produit pas plus d’effet que le point d’arrêt en ligne 36. Je ne comprends pas pourquoi l’un fonctionne et pas l’autre …

Concernant les scripts des web extensions, le problème est qu’à chaque rafraichissement de ma page, ff exécute certains de ces scripts et s’y arrête comme s’ils conportaient des points d’arrêts comme ci-dessous :

Devoir appuyer plusieurs fois sur F8 pour arriver à son propre travail est particulièrement ennuyeux.
La solution serait-elle de blackboxer ces scripts ? Cela influencera-t-il leur fonctionnement réel ?

Je ne sais pas non plus, mais en tout cas cela indique un problème dans le script, et non dans les devtools, ce qui est deja une bonne chose (au moins pour nous :slight_smile: ) Peut etre que l’element est obstrué par un autre element qui serai au dessus? Et il ne recevrait donc pas le mouseover? Ou alors un autre element ecoute aussi mouseover et stop la propagation de celui ci.

Pour le point d’arret imaginaire dans ExtensionContent.jsm, je suis d’accord que c’est facheux et penible.
Vous pouvez en effet soit blackboxer le script (cela ne fait qu’indiquer qu’on ne pourra pas pauser dans celui ci, son comportement reste intact), soit ajouter puis enlever un breakpoint sur les lignes ou le debugger pause, en esperant que cela “nettoie” ce qui peut l’etre.

Merci de votre patience, Nicolas,

Je vais faire divers essais et vous tiendrais au courant qd j’aurais du concret.
Ubuntu devrait bientôt générer et transmettre l’update vers ff v68.

Bonne journée,
Roland

Un outils dans devtools qui énumérerait quels objets ou pseudo-objets sont présents sous la souris en indiquant leur ordre et leur z-index …
serait très pratique et utile (au moins dans ce cas :smile:).

Pour info, l’évènement “mousemove” fonctionne là où “mouseover” ne fonctionnait pas.
Ce ne donne pas le même résultat, mais j’arrive à mon résultat qd même, en ne changeant que le nom de l’évènement dans l’even listener.
Je n’ai toujours pas compris pourquoi ‘mouseover’ refusait de fonctionner

Cet article pourrait peut-être expliquer ce comportement.