Maison >outils de développement >VSCode >Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWS

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWS

(*-*)浩
(*-*)浩original
2019-11-21 11:21:084609parcourir

J'ai été impliqué dans le développement d'extensions PHP il y a quelque temps et j'avais besoin de déboguer le code source PHP. Cependant, la plupart des tutoriels sur Internet sont des tutoriels de débogage sous LINUX. Il existe très peu de tutoriels sur les systèmes WINDOWS et le processus est. seulement expliqué grossièrement. J'ai donc décidé d'essayer d'établir un environnement de débogage sous WINDOWS. Après tout, les principes sont les mêmes :).

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWS

1. Préparation

Ce qui suit est la configuration sur ma machine de développement, qui peut être cohérente avec la mienne pour réduire les erreurs supplémentaires en raison des versions des outils. La probabilité de problèmes.

1.Outil d'édition et de débogage du code source de Visual Code (Apprentissage recommandé : Tutoriel d'introduction à vscode)

2.Visual Studio Community2017 (VS apporte généralement tout le nécessaire au développement sous WIN, après tout, le seau familial de l'univers...)

La zone marquée en rouge doit être installée

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWS3.Code source PHP7 (vous pouvez également choisir de l'extraire de github)

Vous pouvez choisir une version packagée du code source à volonté

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWS4.PHP7- SDK

Ma machine de développement est en 64 bits Parce que je compile PHP7, j'ai choisi le deps-7.1-vc14-x64 64 bits (paquet de bibliothèque de dépendances étendue) et j'ai construit. Dossier php-sdk-binary-tools, décompressez php-sdk-binary-tools-xxx.zip dans ce dossier, créez le dossier deps-vc14-x64 et décompressez également deps-7.1-vc14-x64.7z dans ce dossier.

En même temps, ajoutez le chemin bin dans php-sdk-binary-tools à la variable système WINDOWS PATH. deps-7.1-vc14-x64 n'est pas utilisé dans cet article pour le moment, mais vous pouvez également le télécharger d'abord, car les bibliothèques et les fichiers d'en-tête qui compilent certaines des extensions qui l'accompagnent y sont inclus quand vous le souhaitez. pour compiler les extensions qui l'accompagnent, vous pouvez l'utiliser :).

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWS

2. Compilez le code source

Après avoir installé VS, exécutez x64 sous le dossier Visual Studio 2017 dans le menu Démarrer Natif Invite de commandes des outils pour VS 2017

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWS

Après l'exécution, entrez dans le répertoire du code source PHP7

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWS1. Exécutez buildconf.bat pour générer le fichier de configuration WIN. (configure.js)

2. Vous pouvez exécuter configure.bat --help pour afficher les paramètres de compilation pris en charge

3. Exécutez configure.bat --disable-all --enable- cli. --enable-debug (afin de démontrer une compilation simple, vous pouvez ajouter des paramètres par vous-même)

4. Exécutez la commande nmake pour démarrer la compilation

Avec la configuration de la machine locale, le le fichier exécutable après la compilation se trouve dans la source Sous x64/Debug_TS dans le répertoire de code, vous pouvez vous préparer à démarrer le débogage plus tard.

3. Utilisez VSCODE pour déboguer

Il existe deux méthodes de débogage, l'une est le débogage de processus supplémentaire et l'autre exécute le débogage de démarrage. Les deux méthodes seront présentées. Commençons par présenter le débogage au démarrage.

Créez d'abord un fichier de code source php pour le test. Je l'ai créé dans x64/Debug_TS dans le répertoire du code source.

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWS

Puis sélectionnez le menu Débogage-> Ouvrir la configuration, et sélectionnez C++ (Windows)

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWSModifiez enfin le fichier de configuration comme suit

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWSNous avons déjà compilé le cli de PHP SAPI. Nous ouvrons le fichier source sapi/cli/php_cli.c, localisons la fonction principale à la ligne 1197 et y mettons un point d'arrêt.

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWSEnsuite, nous pouvons accéder au panneau de configuration DEBUG de VS pour exécuter le débogage.

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWS

Vous verrez alors le point d'arrêt atteint.

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWSLa configuration de débogage du processus ci-jointe est également similaire. Nous cliquons sur l'option de menu Debug-> pour ouvrir la configuration et sélectionnons Ajouter une configuration. Sélectionnez C/C++ (Windows) Attacher dans la fenêtre contextuelle. liste de sélection

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWSLe fichier de configuration final est le suivant :

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWSNous utilisons d'abord PHP -S pour démarrer un serveur intégré (ce php doit être le fichier php.exe que vous avez compilé et généré) pour faciliter la démonstration du débogage de processus supplémentaire. L'emplacement que j'ai commencé est le test. nous avons créé auparavant. Le répertoire où se trouve le fichier php.

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWSL'effet d'accès est le suivant :

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWS

Démarrez le débogage de la même manière, sélectionnez (Windows) Attacher dans le panneau de débogage de VSCODE à courir.

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWS

Sélectionnez ensuite le processus PHP dans la liste contextuelle des processus et commencez à entrer dans l'état de débogage.

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWSNous utilisons la fonction array_push dans test.php. Cette fois, nous allons au point d'arrêt d'implémentation de cette fonction, ouvrons ext/standard/array.c, localisons la ligne 2540 et définissons un point d'arrêt.

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWSEnsuite, visitez http://127.0.0.1:8080/test.php dans le navigateur pour déclencher le point d'arrêt.

Utiliser VSCODE pour déboguer le code source PHP7 sous WINDOWS4. Enfin

La méthode de débogage de cet article peut également être utilisée comme méthode de débogage pour le développement étendu. Bien sûr, la même idée de configuration également. s'applique à Universe IDE Visual Studio, mon idée de configurer VSCODE pour déboguer le code source PHP sous WINDOWS est également applicable à d'autres plateformes (Mac/Linux...). Si vous souhaitez déboguer le code source PHP dans Visual Studio, il est préférable d'utiliser cet article comme idée et d'essayer d'y réfléchir vous-même~

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:
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