Table des matières
Principe du débogueur
vscode debugger 进阶
彩蛋
总结
Maison interface Web js tutoriel Parlons des compétences d'utilisation du débogueur dans vscode

Parlons des compétences d'utilisation du débogueur dans vscode

Aug 11, 2021 am 10:08 AM
debugger vscode

Parlons des compétences d'utilisation du débogueur dans vscode

Apprendre nodejs Quelle est la chose la plus importante ? Peut-être que chacun a sa propre réponse.

Je pense qu'en plus de maîtriser l'API de base et certains packages couramment utilisés lors de l'apprentissage de nodejs, la capacité la plus importante est d'apprendre à utiliser le débogueur. Parce que lorsque le processus est complexe, le débogage des points d'arrêt peut vous aider à mieux clarifier la logique, et lorsqu'il y a des bugs, vous pouvez également localiser le problème plus rapidement. [Apprentissage recommandé : "tutoriel nodejs", "tutoriel vscode"]

Oncle Wolf a dit que la possibilité d'utiliser le débogueur est un indicateur important pour distinguer le niveau nodejs d'un programmeur.

Cet article partage les principes du débogueur et les compétences d'utilisation du débogueur vscode.

Principe du débogueur

Lors de l'exécution du code nodejs, si vous apportez le paramètre --inspect(可以打断点) 或者 --inspect-brk (vous pouvez casser le point et casser sur la première ligne), il démarrera en mode débogueur :

Parlons des compétences dutilisation du débogueur dans vscode

Oui Voir, nœud démarré un serveur web socket, l'adresse est : ws://127.0.0.1:9229/78637688-e8e0-4582-80cc-47655f4bff66

Pourquoi le débogueur démarre-t-il un serveur websocket ?

La signification du débogueur est de s'arrêter quelque part, vous pouvez l'exécuter en une seule étape et visualiser les variables de l'environnement. Alors, comment définir des points d'arrêt et exposer les variables du contexte actuel consiste à démarrer un serveur websocket. À ce stade, il vous suffit de démarrer un client websocket et de vous connecter au serveur pour déboguer le code nodejs.

Protocole de débogage v8

Après la connexion, comment le serveur du débogueur et le client du débogueur communiquent-ils ? Cela implique le protocole de débogage v8.

Communiquez via un format reconnu par les deux parties, tel que :

Définissez un point d'arrêt sur la ligne 100 de test.js :

{
    "seq":118,
    "type":"request",
    "command":"setbreakpoint",
    "arguments":{
        "type":"script",
        "target":"test.js",
        "line":100
    }
}
Copier après la connexion

Visualisez ensuite les variables dans la portée actuelle :

{
    "seq":117,
    "type":"request",
    "command":"scope"
}
Copier après la connexion

Après avoir exécuté une expression :

{
    "seq":118,
    "type":"request",
    "command":"evaluate",
    "arguments":{
        "expression":"a()"
    }
}
Copier après la connexion

Continuer à fonctionner :

{
    "seq":117,
    "type":"request",
    "command":"continue"
}
Copier après la connexion

De cette façon, le client peut indiquer au serveur du débogueur comment exécuter le code.

Parlons des compétences dutilisation du débogueur dans vscode

client debugger

le client debugger a généralement une interface utilisateur (bien sûr, vous pouvez également déboguer via des commandes dans la ligne de commande, mais cela n'est généralement pas fait). Les clients courants du débogueur js incluent les outils de développement Chrome et le débogueur vscode.

Nous écrivons un simple script js et l'exécutons via node --inspect-brk :

Parlons des compétences dutilisation du débogueur dans vscode

Vous pouvez voir qu'il démarre sur le port 9229,

Ensuite, nous nous y connectons via deux clients respectivement.

chrome devtools

Entrez chrome://inspect dans la barre d'adresse chrome, puis cliquez sur configurer pour configurer le port cible :

Parlons des compétences dutilisation du débogueur dans vscode

Remplissez le port 9229 tout à l'heure :

Parlons des compétences dutilisation du débogueur dans vscode

Ensuite, vous pouvez voir que Chrome a analysé la cible, cliquez sur inspecter pour vous connecter au serveur du débogueur.

Parlons des compétences dutilisation du débogueur dans vscode

Parlons des compétences dutilisation du débogueur dans vscode

Après cela, vous pouvez définir des points d'arrêt, une exécution en une seule étape, exécuter des expressions, afficher les variables de portée, etc. Ces fonctions sont toutes implémentées via le protocole de débogage v8.

débogueur vscode

Écrire du code dans vscode, le débogage dans les outils de développement Chrome est plus gênant, vscode prend également en charge le débogueur, vous pouvez utiliser vscode pour déboguer directement.

La façon d'utiliser les capacités de débogage de vscode consiste à modifier la configuration .vscode/launch.json dans le répertoire racine du projet.

attacher

Cliquez sur le bouton dans le coin inférieur droit pour ajouter un élément de configuration. Choisissez nodejs attach ici :

Parlons des compétences dutilisation du débogueur dans vscode

Étant donné que le serveur de débogage websocket a été démarré via node --inspect-brk, il vous suffit de démarrer le client websocket, puis de vous connecter au port 9229.

Parlons des compétences dutilisation du débogueur dans vscode

点击左侧的按钮,就可以连上 debugger server 开始调试:

Parlons des compétences dutilisation du débogueur dans vscode

launch

这样先通过 node --inspect-brk 启动 debugger server,然后再添加 vscode debug 配置来连接上太麻烦了,能不能把这两步合并呢?

当然可以,只要添加一个 launch 的配置:

1Parlons des compétences dutilisation du débogueur dans vscode

1Parlons des compétences dutilisation du débogueur dans vscode

这里的 type 是 launch,就是启动 debgger server 并且启动一个 debugger client 连接上该 server。运行的程序是根目录下的 index2.js,还可以设置 stopOnEntry 来在首行断住。

点击调试,就可以看到能够成功的调试该 js 文件。

1Parlons des compétences dutilisation du débogueur dans vscode

vscode 会启动 debugger server,然后启动 debugger client 自动连接上该 server,这些都不需要我们去关心。

这样我们就可以成功的使用 vscode debugger 来调试 nodejs 代码。

vscode debugger 进阶

debugger client 中我们最常用的还是 vscode,这里着重讲一下 vscode debugger 的各种场景下的配置。

sourcemap

如果调试 ts 代码,肯定不能调试编译后的代码,要能够映射回源码,这个是 sourcemap 做的事情。调试工具都支持 sourcemap,比如 chrome devtools 和 vscode debugger,都支持文件末尾的 sourcemap url 的解析:

//# sourceMappingURL=index.js.map
Copier après la connexion

这样当调试 index.js的时候,如果它是 ts 编译的出来的,就会自动找到对应的 ts。

当然,如果调试配置里面直接指定了 ts,那么要能够调试需要再配置 outFiles,告诉 vscode 去哪里找 sourcemap。

1Parlons des compétences dutilisation du débogueur dans vscode

这样,在 ts 源码中打的断点和在编译出的 js 打的断点都能生效。

多进程调试

当代码中有子进程的时候,就有了第二条控制流,需要再启动一个 debugger。

比如 vscode,它是基于 electron,需要启动一个主进程,一些渲染进程。主进程是通过 launch 启动的,而渲染进程则是后来 attach 的。

主进程启动的时候,通过 --remote-debugging-port 来指定子进程自动的时候的 debugger server 的端口。

1Parlons des compétences dutilisation du débogueur dans vscode

outFiles 来指定 sourcemap 的位置,这样才可以直接调试 ts 源码。runtimeExecutable 是用 vscode 的运行时替代掉了 nodejs(一般不需要设置)。

然后渲染进程是后面启动的,我们通过参数配置了会启动在 9222 端口,那么只要 attach 到那个端口就可以调试该进程了。

1Parlons des compétences dutilisation du débogueur dans vscode

vscode 支持多 target 调试,也就是可以在 vscode 里面同时启动 多个 debugger。可以切换不同的 debugger 来调试不同的进程。

1Parlons des compétences dutilisation du débogueur dans vscode

彩蛋

debugger 只能打断点么,不是的,它还可以这么用,加日志,不污染源码。

1Parlons des compétences dutilisation du débogueur dans vscode

1Parlons des compétences dutilisation du débogueur dans vscode

Parlons des compétences dutilisation du débogueur dans vscode

2Parlons des compétences dutilisation du débogueur dans vscode

总结

debugger 的使用是一项很重要的能力,对于 nodejs 水平的提升很有帮助。

nodejs debugger 的原理是 js 引擎会启动 debugger server(websocket),等待客户端连接,我们可以通过各种 debugger client 连上来进行调试,比如 chrome devtools、vscode debugger。

Pour déboguer le code nodejs, il est préférable d'utiliser le débogueur vscode (bien sûr, parfois les outils de développement Chrome sont également utilisés pour le débogage, et l'analyse de la mémoire basée sur la mémoire des outils de développement Chrome est très utile pour localiser les problèmes de fuite de mémoire).

L'utilisation du débogueur vscode consiste principalement à ajouter une configuration de débogage dans .vscode/launch.json.

La configuration du débogage est divisée en lancement et attachement :

  • le lancement démarrera le serveur du débogueur et s'y connectera avec le client du débogueur
  • attacher démarre simplement le client du débogueur pour se connecter au serveur du débogueur existant, vous devez donc spécifier le port

configuration spécifique Les éléments couramment utilisés sont :

  • outFiles spécifie l'emplacement du sourcemap, utilisé pour déboguer le code source ts et d'autres codes qui doivent être compilés
  • stopOnEntry s'arrête sur la première ligne
  • args pour spécifier une commande paramètres de ligne
  • runtimeExecutable lors de l'exécution n'est pas nodejs Parfois, vous devez spécifier, comme vscode ou d'autres environnements d'exécution

Sur la base de ces configurations, nous pouvons déboguer le code nodejs dans divers scénarios, qui doit être compilé, ou plusieurs processus.

Il n'est pas exagéré de dire que si vous êtes familier avec l'utilisation du débogueur, il sera beaucoup plus facile de comprendre les différents codes nodejs. J'espère que cet article pourra aider tout le monde à comprendre le principe du débogueur et à pouvoir utiliser les outils de développement Chrome ou le débogueur vscode pour déboguer le code nodejs. Savoir comment déboguer avec sourcemap et plusieurs processus.

Adresse originale : https://juejin.cn/post/6981820158046109703

Auteur : zxg_God a dit qu'il devait y avoir de la lumière

Pour plus de connaissances liées à la programmation, veuillez visiter : Introduction à la programmation ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

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)

Comment afficher des documents Word dans vscode Comment afficher des documents Word dans vscode Comment afficher des documents Word dans vscode Comment afficher des documents Word dans vscode May 09, 2024 am 09:37 AM

Tout d'abord, ouvrez le logiciel vscode sur l'ordinateur, cliquez sur l'icône [Extension] à gauche, comme indiqué en ① sur la figure. Ensuite, entrez [officeviewer] dans la zone de recherche de l'interface d'extension, comme indiqué en ② sur la figure. . Ensuite, dans la recherche, sélectionnez [officeviewer] à installer dans les résultats, comme indiqué dans ③ sur la figure. Enfin, ouvrez le fichier, tel que docx, pdf, etc., comme indiqué ci-dessous.

Comment dessiner un organigramme avec vscode_Comment dessiner un organigramme avec le code visual_studio Comment dessiner un organigramme avec vscode_Comment dessiner un organigramme avec le code visual_studio Apr 23, 2024 pm 02:13 PM

Tout d'abord, ouvrez le code Visual Studio sur l'ordinateur, cliquez sur les quatre boutons carrés à gauche, puis saisissez draw.io dans la zone de recherche pour interroger le plug-in, cliquez sur Installer. Après l'installation, créez un nouveau fichier test.drawio, puis. sélectionnez le fichier test.drawio, entrez dans le mode d'édition sur la gauche. Il y a différents graphiques sur le côté. Vous pouvez dessiner l'organigramme en sélectionnant à volonté, cliquez sur Fichier → Intégrer → svg puis sélectionnez Copier le svg. Collez le code svg copié dans le code html. Ouvrez la page Web html et vous pourrez le voir. Cliquez sur l'image sur la page Web pour accéder à l'organigramme. Sur cette page, vous pouvez zoomer et dézoomer. organigramme. Ici, nous choisissons de cliquer sur le motif de crayon dans le coin inférieur droit pour accéder à la page Web.

Comment écrire Maude en Vscode_Comment écrire Maude en Vscode Comment écrire Maude en Vscode_Comment écrire Maude en Vscode Apr 23, 2024 am 10:25 AM

Tout d'abord, vous pouvez rechercher le plug-in Maude dans le gestionnaire de plug-ins vscode. Ensuite, créez un nouveau fichier avec l'extension maude pour utiliser les extraits de code et la coloration syntaxique de maude. Terminal -> Nouveau terminal peut ouvrir le terminal intégré vscode dans le dossier actuel pour exécuter le programme maude ou full-maude. Dans le tutoriel officiel de Maude, il existe également des exemples de clients http, qui peuvent être appelés et exécutés comme indiqué sur la figure. Si vous souhaitez associer des fichiers à l'extension fm, ouvrez les paramètres, recherchez les associations de fichiers dans les paramètres utilisateur et ouvrez settings.json. Ajoutez simplement une entrée à l'association de fichiers, c'est-à-dire l'entrée de *.fm à maude. Mais plein

Les Chinois de Caltech utilisent l'IA pour renverser les preuves mathématiques ! Accélérer 5 fois a choqué Tao Zhexuan, 80% des étapes mathématiques sont entièrement automatisées Les Chinois de Caltech utilisent l'IA pour renverser les preuves mathématiques ! Accélérer 5 fois a choqué Tao Zhexuan, 80% des étapes mathématiques sont entièrement automatisées Apr 23, 2024 pm 03:01 PM

LeanCopilot, cet outil mathématique formel vanté par de nombreux mathématiciens comme Terence Tao, a encore évolué ? Tout à l'heure, Anima Anandkumar, professeur à Caltech, a annoncé que l'équipe avait publié une version étendue de l'article LeanCopilot et mis à jour la base de code. Adresse de l'article image : https://arxiv.org/pdf/2404.12534.pdf Les dernières expériences montrent que cet outil Copilot peut automatiser plus de 80 % des étapes de preuve mathématique ! Ce record est 2,3 fois meilleur que le précédent record d’Esope. Et, comme auparavant, il est open source sous licence MIT. Sur la photo, il s'agit de Song Peiyang, un garçon chinois.

Comment activer les mises à jour en arrière-plan dans vscode Comment activer les mises à jour en arrière-plan dans vscode Comment activer les mises à jour en arrière-plan dans vscode Comment activer les mises à jour en arrière-plan dans vscode May 09, 2024 am 09:52 AM

1. Tout d'abord, après avoir ouvert l'interface, cliquez sur le menu Fichier dans le coin supérieur gauche. 2. Ensuite, cliquez sur le bouton Paramètres dans la colonne des préférences. 3. Ensuite, dans la page des paramètres qui apparaît, recherchez la section de mise à jour. Enfin, cliquez sur la souris pour le vérifier et l'activer. Téléchargez et installez le nouveau bouton de version de VSCode en arrière-plan sous Windows et redémarrez le programme.

Comment ajouter des fichiers à l'espace de travail vscode Comment ajouter des fichiers à l'espace de travail vscode Comment ajouter des fichiers à l'espace de travail vscode Comment ajouter des fichiers à l'espace de travail vscode May 09, 2024 am 09:43 AM

1. Tout d'abord, ouvrez le logiciel vscode, cliquez sur l'icône de l'explorateur et recherchez la fenêtre de l'espace de travail 2. Ensuite, cliquez sur le menu Fichier dans le coin supérieur gauche et recherchez l'option Ajouter un dossier à l'espace de travail 3. Enfin, recherchez l'emplacement du dossier dans le disque local, cliquez sur le bouton Ajouter

Comment désactiver le fichier de configuration wsl dans vscode Comment désactiver le fichier de configuration wsl dans vscode Comment désactiver le fichier de configuration wsl dans vscode Comment désactiver le fichier de configuration wsl dans vscode May 09, 2024 am 10:30 AM

1. Tout d'abord, ouvrez l'option des paramètres dans le menu des paramètres. 2. Ensuite, recherchez la colonne du terminal dans la page couramment utilisée. 3. Enfin, décochez le bouton usewslprofiles sur le côté droit de la colonne.

Comment définir l'insertion fluide de l'animation dans VScode Tutoriel VScode pour définir l'insertion fluide de l'animation Comment définir l'insertion fluide de l'animation dans VScode Tutoriel VScode pour définir l'insertion fluide de l'animation May 09, 2024 am 09:49 AM

1. Tout d'abord, après avoir ouvert l'interface, cliquez sur l'interface de l'espace de travail 2. Ensuite, dans le panneau d'édition ouvert, cliquez sur le menu Fichier 3. Ensuite, cliquez sur le bouton Paramètres sous la colonne Préférences 4. Enfin, cliquez sur la souris pour vérifier le CursorSmoothCaretAnimation bouton et enregistrez. Il suffit de le définir

See all articles