Table des matières
1. Beautify Javascript
2. 查看元素绑定了哪些事件
3. Ajax 时中断
4. 页面事件中断
5. Javascript 异常时中断
6. DOM Level 3 Event 事件中断
7. 所有 js 文件中搜索&查找 js 函数定义
8. command line api
9. 实时修改 js 代码生效
10. console 中执行的代码可断点
参考链接
Maison base de données tutoriel mysql chrome developer tool 调试技巧

chrome developer tool 调试技巧

Jun 07, 2016 pm 03:41 PM
chrome developer tool 技巧 调试

这篇文章是根据目前chrome稳定版(19.0.1084.52 m)写的, 因为 google 也在不断完善chromedeveloper tool, 所以chrome版本不同可能稍有差别. 一些快捷键也是 windows 上的, mac 下的应该大同小异. 常规的断点相关的 breakpoint/conditional-breakpoint/call-st

这篇文章是根据目前 chrome 稳定版(19.0.1084.52 m)写的, 因为 google 也在不断完善chrome developer tool, 所以 chrome 版本不同可能稍有差别. 一些快捷键也是 windows 上的, mac 下的应该大同小异.

常规的断点相关的 breakpoint/conditional-breakpoint/call-stack/watch-expressions 等就不涉及了.

1. Beautify Javascript

js 文件在上线前一般都会压缩下, 压缩的 javascript 几乎没有可读性, 几乎无法设定断点. 在 Scripts 面板下面有个 Pretty print 按钮(这种符号 {}), 点击会将压缩 js 文件格式化缩进规整的文件, 这时候在设定断点可读性就大大提高了.

chrome developer tool 调试技巧

chrome developer tool 调试技巧

2. 查看元素绑定了哪些事件

在 Elements 面板, 选中一个元素, 然后在右侧的 Event Listeners 下面会按类型出这个元素相关的事件, 也就是在事件捕获和冒泡阶段会经过的这个节点的事件.

在 Event Listeners 右侧下拉按钮中可以选择 Selected Node Only 只列出这个节点上的事件

展开事件后会显示出这个事件是在哪个文件中绑定的, 点击文件名会直接跳到绑定事件处理函数所在行, 如果 js 是压缩了的, 可以先 Pretty print 下, 然后再查看绑定的事件.

chrome developer tool 调试技巧

3. Ajax 时中断

在 Scripts 面板右侧有个 XHR Breakpoints, 点右侧的 + 会添加一个 xhr 断点, 断点是根据 xhr 的 url 匹配中断的, 如果不写匹配规则会在所有 ajax, 这个匹配只是简单的字符串查找, 发送前中断, 在中断后再在 Call Stack 中查看时那个地方发起的 ajax 请求

4. 页面事件中断

除了给设定常规断点外, 还可以在某一特定事件发生时中断(不针对元素) , 在 Scripts 面板右侧, 有个 Event Listener Breakpoints, 这里列出了支持的所有事件, 不仅 click, keyup 等事件, 还支持 Timer(在 setTimeout setInterval 处理函数开始执行时中断), onload, scroll 等事件.

chrome developer tool 调试技巧

5. Javascript 异常时中断

Pretty print 左侧的按钮是开启 js 抛异常时中断的开关, 有两种模式:在所有异常处中断, 在未捕获的异常处中断. 在异常处中断后就可以查看为什么抛出异常了

6. DOM Level 3 Event 事件中断

在 Elements 面板, 选中一个元素右键, 有两个选项:Break on subtree modifications, Break on attributes modifications, 这两个对应 DOM Level 3 Event 中的DOMSubtreeModified , DOMSubtreeModified 事件 在 Scripts 面板 DOM Breakpoints 处会列出所有 level3 的 event 中断

chrome developer tool 调试技巧

7. 所有 js 文件中搜索&查找 js 函数定义

  • 在 chrome developer tool 打开的情况下, 按 ctrl + shift + F, 在通过 js 钩子查找代码位置时很有用, 查找支持正则表达式
  • 查找函数定义: ctrl + shift + 0 (在 Scripts panel 下)
  • 查找文件: ctrl + o  (在 Scripts panel 下)
  • 更多快捷键: 在 chrome developer tool 中按 ? 查看帮助

chrome developer tool 调试技巧

8. command line api

  • $(id_selector) 这个与页面是否有 jQuery 无关
  • $$(css_selector)
  • $0, $1, $2, $3, $4
    1. Elements 面板中最近选中的 5 个元素, 最后选择的是 $0
    2. 这个 5 个变量时先进先出的
  • copy(str) 复制 str 到剪切板, 在断点时复制变量时有用
  • monitorEvents(object[, types])/unmonitorEvents(object[, types])
    1. 当 object 上 types 事件发生时在 console 中输出 event 对象
  • 更多 console api 请 console.log(console) 或 点击
  • 更多 command line api 点击

chrome developer tool 调试技巧

9. 实时修改 js 代码生效

  • 页面外部 js 文件在 Scripts 面板中可以直接修改, 改完后按 ctrl + S 保存, 会立即生效
  • 注意
    1. 经测试不支持 html 页面中 js 修改
    2. 经过 Pretty print 格式化的脚本不支持修改

10. console 中执行的代码可断点

在 console 中输入代码的最后一行加上 //@ sourceURL=filename.js, 会在 Scripts 面板中有个叫 filename.js 的文件, 然后他就和外部 js 文件一样了

chrome developer tool 调试技巧

function hello() {
  alert('say hi');
}
//@ sourceURL=hello.js
Copier après la connexion

参考链接

  • chrome developer tool doc
  • Google I/O 2011: Chrome Dev Tools Reloaded
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Explication détaillée du débogage des fonctions C++ : Comment déboguer les problèmes dans les fonctions multithread ? Explication détaillée du débogage des fonctions C++ : Comment déboguer les problèmes dans les fonctions multithread ? May 02, 2024 pm 04:15 PM

Le débogage multithread C++ peut utiliser GDB : 1. Activer la compilation des informations de débogage ; 2. Définir les points d'arrêt ; 3. Utiliser les threads d'information pour afficher les threads ; 4. Utiliser le thread pour changer de thread ; Cas réel de débogage : 1. Utilisez threadapplyallbt pour imprimer la pile ; 2. Vérifiez l'état du thread ; 3. Exécutez le thread principal en une seule étape ;

Comment utiliser LeakSanitizer pour déboguer les fuites de mémoire C++ ? Comment utiliser LeakSanitizer pour déboguer les fuites de mémoire C++ ? Jun 02, 2024 pm 09:46 PM

Comment utiliser LeakSanitizer pour déboguer les fuites de mémoire C++ ? Installez LeakSanitizer. Activez LeakSanitizer via l'indicateur de compilation. Exécutez l’application et analysez le rapport LeakSanitizer. Identifiez les types d’allocation de mémoire et les emplacements d’allocation. Corrigez les fuites de mémoire et assurez-vous que toute la mémoire allouée dynamiquement est libérée.

Raccourci vers le débogage et l'analyse de la fonction Golang Raccourci vers le débogage et l'analyse de la fonction Golang May 06, 2024 pm 10:42 PM

Cet article présente des raccourcis pour le débogage et l'analyse de la fonction Go, notamment : le débogueur intégré dlv, qui est utilisé pour suspendre l'exécution, vérifier les variables et définir des points d'arrêt. Journalisation, utilisez le package de journaux pour enregistrer les messages et les afficher pendant le débogage. L'outil d'analyse des performances pprof génère des graphiques d'appels et analyse les performances, et utilise gotoolpprof pour analyser les données. Cas pratique : Analyser les fuites mémoire via pprof et générer un graphe d'appel pour afficher les fonctions à l'origine des fuites.

Comment déboguer le code asynchrone PHP Comment déboguer le code asynchrone PHP May 31, 2024 am 09:08 AM

Les outils de débogage du code asynchrone PHP incluent : Psalm : un outil d'analyse statique qui trouve les erreurs potentielles. ParallelLint : un outil qui inspecte le code asynchrone et fournit des recommandations. Xdebug : Une extension pour déboguer les applications PHP en activant une session et en parcourant le code. D'autres conseils incluent l'utilisation de la journalisation, des assertions, l'exécution de code localement et l'écriture de tests unitaires.

Comment effectuer des tests de concurrence et le débogage dans la programmation simultanée Java ? Comment effectuer des tests de concurrence et le débogage dans la programmation simultanée Java ? May 09, 2024 am 09:33 AM

Tests de concurrence et débogage Les tests de concurrence et le débogage dans la programmation simultanée Java sont cruciaux et les techniques suivantes sont disponibles : Tests de concurrence : tests unitaires : isolez et testez une seule tâche simultanée. Tests d'intégration : tester l'interaction entre plusieurs tâches simultanées. Tests de charge : évaluez les performances et l'évolutivité d'une application sous une charge importante. Débogage simultané : points d'arrêt : suspendez l'exécution du thread et inspectez les variables ou exécutez le code. Journalisation : enregistrez les événements et l'état du fil. Trace de pile : identifiez la source de l’exception. Outils de visualisation : surveillez l'activité des threads et l'utilisation des ressources.

Quelles sont les techniques de débogage des appels récursifs dans les fonctions Java ? Quelles sont les techniques de débogage des appels récursifs dans les fonctions Java ? May 05, 2024 am 10:48 AM

Les techniques suivantes sont disponibles pour déboguer les fonctions récursives : Vérifier la trace de la pileDéfinir les points de débogageVérifier si le cas de base est correctement implémentéCompter le nombre d'appels récursifsVisualiser la pile récursive

Erreurs de débogage PHP : un guide des erreurs courantes Erreurs de débogage PHP : un guide des erreurs courantes Jun 05, 2024 pm 03:18 PM

Les erreurs courantes de débogage PHP incluent : Erreurs de syntaxe : vérifiez la syntaxe du code pour vous assurer qu'il n'y a pas d'erreurs. Variable non définie : avant d'utiliser une variable, assurez-vous qu'elle est initialisée et qu'une valeur lui est attribuée. Point-virgules manquants : ajoutez des points-virgules à tous les blocs de code. La fonction n'est pas définie : vérifiez que le nom de la fonction est correctement orthographié et assurez-vous que le bon fichier ou l'extension PHP est chargé.

Explication détaillée du débogage des fonctions C++ : Comment déboguer les problèmes dans les fonctions contenant la gestion des exceptions ? Explication détaillée du débogage des fonctions C++ : Comment déboguer les problèmes dans les fonctions contenant la gestion des exceptions ? Apr 30, 2024 pm 01:36 PM

Les fonctions de débogage C++ qui contiennent la gestion des exceptions utilisent des points d’arrêt d’exception pour identifier les emplacements d’exception. Utilisez la commande catch dans gdb pour imprimer les informations sur les exceptions et empiler les traces. Utilisez le journal d'exceptions pour capturer et analyser les exceptions, notamment les messages, les traces de pile et les valeurs de variables.

See all articles