search
HomeDevelopment ToolsVSCodeUsing VSCODE to debug PHP7 source code under WINDOWS

I was involved in PHP extension development some time ago and had debugging requirements for PHP source code. However, most of the tutorials on the Internet are debugging tutorials under LINUX. There are very few tutorials on WINDOWS systems and the process is only roughly explained. So I decided to try to establish a debugging environment under WINDOWS. After all, the principles are the same :).

Using VSCODE to debug PHP7 source code under WINDOWS

1. Preparation

The following is the configuration on my development machine, which can be consistent with mine to reduce additional errors due to tool versions The probability of problems.

1.Visual Code source code editing and debugging tool                                                                                                                                                                                                                                                                                 (VS usually brings all the things needed for development under WIN, after all, the universe family bucket...)

The red marked area must be installed

3.PHP7 source code (you can also choose to pull it from github)

You can choose a packaged version of the source codeUsing VSCODE to debug PHP7 source code under WINDOWS

4.PHP7- SDK

My development machine is 64-bit. Because I am compiling PHP7, I chose the 64-bit deps-7.1-vc14-x64 (extended dependency library package) and created php-sdk-binary-tools. folder, unzip php-sdk-binary-tools-xxx.zip to this folder, create the deps-vc14-x64 folder, and also unzip deps-7.1-vc14-x64.7z to this folder. Using VSCODE to debug PHP7 source code under WINDOWSAt the same time, add the bin path in php-sdk-binary-tools to the WINDOWS system variable PATH. deps-7.1-vc14-x64 is not used in this article for the time being, but you can also download it first, because the libraries and header files that compile some of the extensions that come with it are included in it. When you want to compile the extensions that come with it, you can Use it :).

2. Compile the source code

Using VSCODE to debug PHP7 source code under WINDOWS

After installing VS, run x64 under the Visual Studio 2017 folder in the start menu Native Tools Command Prompt for VS 2017

After running, enter the PHP7 source code directory

Using VSCODE to debug PHP7 source code under WINDOWS1. Execute buildconf.bat to generate WIN configure file (configure.js)

2. You can run configure.bat --help to view the supported compilation parameters

3. Execute configure.bat --disable-all --enable- cli --enable-debug (in order to demonstrate simple compilation, you can add parameters by yourself)Using VSCODE to debug PHP7 source code under WINDOWS

4. Execute the nmake command to start compilation

With the configuration of the local machine, the executable file after compilation is in the source Under x64/Debug_TS in the code directory, you can prepare to start debugging later.

3. Use VSCODE to debug

The debugging methods can be divided into two types, one is additional process debugging, and the other is running startup debugging. Both methods will be introduced. Let’s first introduce running startup debugging.

First create a php source code file for testing. I created it in x64/Debug_TS in the source code directory.

Then select the menu Debug->Open Configuration and select C (Windows)

Using VSCODE to debug PHP7 source code under WINDOWSFinally modify the configuration file as follows

We have compiled the cli of PHP SAPI before. We open the sapi/cli/php_cli.c source file, locate the main function on line 1197, and put a breakpoint in it.

Using VSCODE to debug PHP7 source code under WINDOWS

Then we can go to the DEBUG control panel of VS to run debugging.

Using VSCODE to debug PHP7 source code under WINDOWS

Using VSCODE to debug PHP7 source code under WINDOWSYou will then see the breakpoint hit.

Using VSCODE to debug PHP7 source code under WINDOWSThe attached process debugging configuration is also similar. We click the menu option Debug->Open Configuration, and select Add Configuration. Select C/C (Windows) Attach

in the pop-up selection list.

The final configuration file is as follows:

Using VSCODE to debug PHP7 source code under WINDOWSWe first use PHP -S to start a built-in server (this php must be the php.exe file you compiled and generated) to facilitate the demonstration of additional process debugging. The location I started is the test we created before. The directory where the php file is located.

Using VSCODE to debug PHP7 source code under WINDOWSThe access effect is as follows:

Using VSCODE to debug PHP7 source code under WINDOWS

#The way to start debugging is the same, select (Windows) Attach in the debugging panel of VSCODE to run.

Using VSCODE to debug PHP7 source code under WINDOWS

#Then select the PHP process in the pop-up process list and start entering the debugging state.

Using VSCODE to debug PHP7 source code under WINDOWSWe use the array_push function in test.php. This time we go to the implementation breakpoint of this function, open ext/standard/array.c, locate line 2540, and set a breakpoint.

Using VSCODE to debug PHP7 source code under WINDOWSThen visit http://127.0.0.1:8080/test.php in the browser to trigger the breakpoint.

Using VSCODE to debug PHP7 source code under WINDOWS4. Finally

The debugging method in this article can also be used as a debugging method for extended development. Of course, the same configuration idea also applies to Universe IDE Visual Studio , my idea of ​​configuring VSCODE to debug PHP source code under WINDOWS is also applicable to other platforms (Mac/Linux...). If you are interested in debugging PHP source code in Visual Studio, it is better to use this article as an idea and try to think about it yourself~

The above is the detailed content of Using VSCODE to debug PHP7 source code under WINDOWS. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Visual Studio vs. VS Code: Exploring Features and FunctionalityVisual Studio vs. VS Code: Exploring Features and FunctionalityApr 15, 2025 am 12:05 AM

VisualStudio is suitable for large projects and full-featured needs, while VSCode is suitable for developments that require lightweight and flexibility. 1. VisualStudio provides comprehensive IDE functions, supports multiple languages ​​and advanced project management. 2.VSCode is known for its lightweight and scalability, and is suitable for cross-platform development and personalized configuration.

Visual Studio vs. VS Code: Which is Better for Your Project?Visual Studio vs. VS Code: Which is Better for Your Project?Apr 14, 2025 am 12:03 AM

VisualStudio is suitable for large projects and development scenarios that require strong debugging capabilities, while VSCode is suitable for scenarios that require flexibility and cross-platform development. VisualStudio provides a comprehensive development environment, supports .NET development, and integrates debugging tools and project management functions. VSCode is known for its lightweight and extensibility. It supports multiple programming languages ​​and enhances functions through plug-in systems, and is suitable for modern development processes.

Visual Studio: Exploring Pricing and Licensing OptionsVisual Studio: Exploring Pricing and Licensing OptionsApr 13, 2025 am 12:03 AM

Visual Studio is available in three versions: Community Free Edition is for individuals and small teams, Professional Paid Edition is for professional developers and small and medium teams, and Enterprise Ultimate Edition is for large enterprises and complex projects.

Visual Studio's Value: Weighing the Cost Against Its BenefitsVisual Studio's Value: Weighing the Cost Against Its BenefitsApr 12, 2025 am 12:06 AM

VisualStudio is highly valuable in .NET development because it is powerful and comprehensive. Despite the high cost and resource consumption, the efficiency improvement and development experience it brings is significant. Community is ideal for individual developers and small teams; large enterprises are suitable for Professional or Enterprise.

Visual Studio's Availability: Which Editions Are Free?Visual Studio's Availability: Which Editions Are Free?Apr 10, 2025 am 09:44 AM

Free versions of VisualStudio include VisualStudioCommunity and VisualStudioCode. 1. VisualStudioCommunity is suitable for individual developers, open source projects and small teams. It is powerful and suitable for individual projects and learning programming. 2. VisualStudioCode is a lightweight code editor that supports multiple programming languages ​​and extensions. It has a fast startup speed and low resource usage, making it suitable for developers who need flexibility and scalability.

How to install Visual Studio for Windows 8?How to install Visual Studio for Windows 8?Apr 09, 2025 am 12:19 AM

The steps to install VisualStudio on Windows 8 are as follows: 1. Download the VisualStudioCommunity2019 installation package from the official Microsoft website. 2. Run the installer and select the required components. 3. It can be used after installation is completed. Be careful to select Windows 8-compatible components and make sure there is sufficient disk space and administrator rights.

Can my computer run VS Code?Can my computer run VS Code?Apr 08, 2025 am 12:16 AM

VSCode can run on most modern computers as long as the basic system requirements are met: 1. Operating system: Windows 7 and above, macOS 10.9 and above, Linux; 2. Processor: 1.6GHz or faster; 3. Memory: at least 2GB RAM (4GB or higher recommended); 4. Storage space: at least 200MB of available space. By optimizing settings and reducing extended usage, you can get a smooth user experience on low-configuration computers.

How do I make a program compatible with Windows 8?How do I make a program compatible with Windows 8?Apr 07, 2025 am 12:09 AM

To make the program run smoothly on Windows 8, the following steps are required: 1. Use compatibility mode, detect and enable this mode through code. 2. Adjust API calls and select the appropriate API according to the Windows version. 3. Perform performance optimization, try to avoid using compatibility mode, optimize API calls and use general controls.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.