Maison  >  Article  >  outils de développement  >  Tutoriel de débogage VSCode (2) : débogage étape par étape

Tutoriel de débogage VSCode (2) : débogage étape par étape

PHPz
PHPzavant
2020-07-02 14:26:2322449parcourir

Tutoriel de débogage VSCode (2) : débogage étape par étape

Il est important de naviguer entre le code que vous souhaitez inspecter. Il serait fastidieux et inutile de parcourir chaque ligne de code. Le débogueur offre un moyen pratique de voir ce qui est important et de sortir des blocs de code sans importance. Voyons comment entrer, ignorer et quitter des fonctions pendant le débogage !

Dans le post précédent, nous avons examiné le débogueur VS Code, ajouté des points d'arrêt dans le code et examiné le statut local.

Cette fois, nous apprendrons comment parcourir le code ligne par ligne et comment entrer et sortir des appels de fonction.

Récupérez le code

Tout d'abord, rendons le dernier serveur plus complexe. Ajoutez deux fonctions supplémentaires : une pour obtenir le nom de la demande et une autre pour générer le message d'accueil.

Vous pouvez coller le code ci-dessous dans index.js.

const http = require('http');
const url = require('url');

const hostname = '127.0.0.1';
const port = 3456;
const serverUrl = `http://${hostname}:${port}`

const getNameFromReq = (req) => {
  const {name} = url.parse(req.url, true).query;

  return name
}

const getGreeting = (name) => {
  const greeting = `Hello, ${name}!`

  return greeting
}

const server = http.createServer((req, res) => {
  const name = getNameFromReq(req)
  const greeting = getGreeting(name)

  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end(`${greeting}\n`);
});

server.listen(port, hostname, () => {
  console.log(`Server running at ${serverUrl}`);
});

Tutoriel de débogage VSCode (2) : débogage étape par étape

Le code de cette série peut être obtenu sur https://github.com/thekarel/debug-anything

Démarrez le débogueur

Démarrons le débogueur : utilisez la barre d'outils de débogage ou appuyez sur F5 et sélectionnez Node.js :

Tutoriel de débogage VSCode (2) : débogage étape par étape

Vous devriez pouvoir accéder à http://127.0.0.1:3456/?name=Coco normalement et voir le message d'accueil.

Si vous préférez la ligne de commande, vous pouvez également utiliser curl http://127.0.0.1:3456?name=Coco pour y accéder.

D'accord, maintenant que le serveur est opérationnel, ajoutons un point d'arrêt. Le débogueur ne démarrera pas sans point d'arrêt :

Tutoriel de débogage VSCode (2) : débogage étape par étape

Ajouter un point d'arrêt à la ligne 21 :

const name = getNameFromReq(req)

Pas à pas

Déclenchez à nouveau la requête de http://127.0.0.1:3456/?name=Coco et le débogueur sera activé Et s'arrête à la ligne 21 du code :

Tutoriel de débogage VSCode (2) : débogage étape par étape

Magnifique ! Concentrons-nous maintenant sur la Barre d'outils de débogage :

Tutoriel de débogage VSCode (2) : débogage étape par étape

La première chose est le nom du bouton. L'ordre de gauche à droite est le suivant (avec les raccourcis VS Code par défaut) :

Tutoriel de débogage VSCode (2) : débogage étape par étape

Continuer, redémarrer et arrêter sont très simples et effectueront respectivement les opérations que vous attendez : Continuer au point d'arrêt suivant, redémarrez le processus et arrêtez le processus (et le débogueur).

L'étape est liée à l'appel de fonction sur la ligne actuelle : vous pouvez accéder à un appel de fonction (Step Over), entrer dans l'appel de fonction (Step Into, afficher et déboguer en interne) ou quitter la fonction (Step Out ). Les opérations pas à pas vous permettent également d'exécuter du code ligne par ligne, même si la ligne n'est pas un appel de fonction.

La commande Step contrôle uniquement ce que vous voyez dans le débogueur. Ainsi, "Step Out" ou "Over" une fonction exécutera toujours tout le code comme d'habitude. Le débogueur ne vous ennuiera pas et vous pourrez terminer votre travail principal plus rapidement.

Continuer

Continuer exécutera le code jusqu'au prochain point d'arrêt ou à la fin du programme. Une façon de déboguer consiste à ajouter au préalable plusieurs points d'arrêt sur les lignes pertinentes et à passer de l'une à l'autre avec continuer :

Tutoriel de débogage VSCode (2) : débogage étape par étape

Si vous savez déjà quelles fonctions ou lignes sont pertinents pour votre objectif, l'opération Continuer sera alors très pratique. Le débogueur s'arrêtera à un emplacement prédéfini afin que vous puissiez inspecter les variables et la pile d'appels.

Step Over

Vous pouvez considérer Step Over comme parcourir une fonction ligne par ligne, mais sans entrer dans les appels de fonction. Si vous n'êtes pas intéressé par la logique interne de l'appel de fonction dans la ligne actuelle, mais que vous souhaitez simplement voir comment les variables locales évoluent au fil du temps, utilisez-la, par exemple :

Tutoriel de débogage VSCode (2) : débogage étape par étape

Step Over est un bon moyen d'ignorer le code descriptif.

Entrez

Utilisez Step Into lorsqu'une ligne appelle une fonction qui vous intéresse et que vous souhaitez approfondir. Une fois à l'intérieur du bloc de code, vous pouvez déboguer comme d'habitude (en utilisant continue, step, etc.).

Observez comment nous sautons getNameFromReq puis entrons getGreeting :

Tutoriel de débogage VSCode (2) : débogage étape par étape

Sortez

Step Out est à l'opposé de Step In : si une fonction ne vous intéresse plus, vous pouvez la quitter. L'utilisation de "Step out" exécutera le reste du code de la fonction en une seule fois.

Vérifiez la différence entre ces deux fonctions via le débogage. Nous exécutons la première fonction ligne par ligne, mais quittons la deuxième fonction plus tôt :

Tutoriel de débogage VSCode (2) : débogage étape par étape

Maintenant, vous devriez avoir une meilleure compréhension de la barre d'outils du débogueur, comment se concentrer sur les choses importantes et ignorer les parties non pertinentes. Non seulement ces commandes vous feront gagner du temps, mais elles rendront l’ensemble du travail de débogage plus agréable ! Pourquoi ne pas l'essayer dans votre projet ?

Série de tutoriels sur le débogage VSCode :

1, Connaissances de base

2, Débogage étape par étape

Adresse originale en anglais : https://charlesagile.com/debug-javascript-typescript-debugger-navigating-with-steps

Auteur : Charles Szilagyi

Tutoriels associés recommandés : Tutoriel d'introduction au vscode

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer