All Projects → Mte90 → pugdebug

Mte90 / pugdebug

Licence: Unknown, GPL-3.0 licenses found Licenses found Unknown LICENSE GPL-3.0 COPYING
Standalone xDebug client for PHP applications written in Python and Qt5, official fork.

Projects that are alternatives of or similar to pugdebug

pugdebug
pugdebug is a standalone debugging client for PHP applications that uses XDebug as the debugging engine.
Stars: ✭ 72 (+227.27%)
Mutual labels:  xdebug, pyqt5
docker-laravel-8
A simple Docker - Laravel 8 - MySQL - Redis - PHPAdmin - NGINX - PHP 7.4 - Composer - Artisan - XDebug
Stars: ✭ 130 (+490.91%)
Mutual labels:  xdebug
qt-tile-layout
A tile layout for PyQt5
Stars: ✭ 18 (-18.18%)
Mutual labels:  pyqt5
phuzz
Find exploitable PHP files by parameter fuzzing and function call tracing
Stars: ✭ 53 (+140.91%)
Mutual labels:  xdebug
Be-Focussed-Productivity-Monitor
PyQt application for Windows and Linux to monitor productivity while working. It will also notify when to take a break after a long focussed work.
Stars: ✭ 13 (-40.91%)
Mutual labels:  pyqt5
Florodoro
A pomodoro timer that grows procedurally generated trees and flowers while you're studying.
Stars: ✭ 22 (+0%)
Mutual labels:  pyqt5
Grabber
A wrapper for Youtube-dl for Windows.
Stars: ✭ 22 (+0%)
Mutual labels:  pyqt5
docker-yii2-app-advanced
dockerized yiisoft/yii2-app-advanced
Stars: ✭ 18 (-18.18%)
Mutual labels:  xdebug
IPRadar2
Real-time detection and defense against malicious network activity and policy violations (exploits, port-scanners, advertising, telemetry, state surveillance, etc.)
Stars: ✭ 20 (-9.09%)
Mutual labels:  pyqt5
simple-photo-editor
Simple Photo Editor on Python
Stars: ✭ 21 (-4.55%)
Mutual labels:  pyqt5
venvipy
A GUI for managing Python virtual environments
Stars: ✭ 24 (+9.09%)
Mutual labels:  pyqt5
PyTelTools
Python Telemac Tools for post-processing tasks (includes a workflow)
Stars: ✭ 24 (+9.09%)
Mutual labels:  pyqt5
SCF4-SDK
Motorized zoom lens controller Kurokesu SCF4 module featuring STM32 controller and Onsemi LC898201 driver control software
Stars: ✭ 14 (-36.36%)
Mutual labels:  pyqt5
php8-xdebug
PHP 8.0 for development and production usage. With nginx, brotli, xdebug, JIT and more...
Stars: ✭ 17 (-22.73%)
Mutual labels:  xdebug
php-setup-guide
How to setup your Mac for PHP development
Stars: ✭ 24 (+9.09%)
Mutual labels:  xdebug
homebrew-extensions
🍻 Homebrew tap for PHP extensions
Stars: ✭ 264 (+1100%)
Mutual labels:  xdebug
Turing
Free and cross-platform IDE for pseudocode and Python
Stars: ✭ 35 (+59.09%)
Mutual labels:  pyqt5
Rocket-Downloader
Desktop App can Download Youtube , Facbook Videos as mp4 , mp3
Stars: ✭ 21 (-4.55%)
Mutual labels:  pyqt5
behat-code-coverage
Generate Code Coverage reports for Behat tests
Stars: ✭ 48 (+118.18%)
Mutual labels:  xdebug
docker-compose-moodle
This project quickly builds a local workspace for Moodle (Apache2, PHP-FPM with XDEBUG y Postgres) using containers for each of its main components. The local workspace is built and managed by Docker Compose
Stars: ✭ 33 (+50%)
Mutual labels:  xdebug

Pugdebug

pugdebug is a standalone debugging client for PHP applications that uses Xdebug (3) as the debugging engine.

NOTE: This is the official fork!

Install pugdebug

Install from pip

pip install pugdebug

Install from source

pip install -r requirements.txt

Generate single executable

Require pyinstaller and you can use build-pyinstaller.sh or build-pyinstaller.bat based on your system.

Using pugdebug

./app.py

Settings

To bring up the Settings window, navigate to Files -> Settings (shortcut: Ctrl+S).

Path settings

The Path section refers to the path settings.

The Root under the Path section is the root path where the project you want to debug is located.

The Maps from under the Path section is for when the project you want to debug is under a virtual machine, like Vagrant. Here you would enter the path of the project under that VM.

For example, if a project I'm working on is in /home/robert/wwww/pugdebug and that maps to /var/www under the VM, the Root would be set to /home/robert/www/pugdebug and the Maps from would be set to /var/www.

Debugger settings

The Host setting should be the IP address of the machine on which pugdebug runs. In most cases (like vagrant) it is perfectly fine to leave this field blank.

The Port setting is the port number on which Xdebug will attempt to connect to the machine on which pugdebug runs. The default port is 9003.

The IDE Key setting allows to filter out messages from Xdebug based on this value.

Break at first line tells the debugger should it break on the first line or not (on CMS is better to disable it).

Max depth, Max children and Max data settings control the amount of information about variables is retrieved from Xdebug.

Hotkeys

  • F1 - Start Listening
  • F2 - Stop Listening
  • F3 - Stop
  • F4 - Detach
  • F5 - Run
  • F6 - Step Over
  • F7 - Step In
  • F8 - Step Out
  • Ctrl+N - New project
  • Ctrl+F - Search
  • Ctrl+T - Search for file
  • Ctrl+G - Go to line
  • Ctrl+S - Show settings
  • Alt+F4 - Exit application
  • e - Open the file opened in your editor (based on the settings)

FAQ

Debugging sessions

To start debugging, click the Start listening button in the top left corner.

pugdebug then listens to all connections on the Port provided, and if the connection has the IDE Key matching with what is configured, it will start debugging the PHP request from that connection.

In the case if there is already a debugging in progress, the new connection will be queued and once the debugging of the current connection is done, the new one will be debugged.

This allows pugdebug to debug multiple requests (think ajax).

Load a web project in a browser and start a HTTP debugging session.

pugdebug should pick up that request and display the index file of the web project, while stopping the execution on the first line.

Using the Run, Over, In, Out continuation commands allows stepping through the PHP code.

Setting breakpoints is possible by double clicking the line where a breakpoint is needed.

The correspoding line number should be highlighted and a new breakpoint should be listed in the breakpoint viewer (bottom right corner).

Double clicking the line with a breakpoint should remove that breakpoint.

The Stop action will stop debugging the current request and tell Xdebug to stop further execution of the PHP script that is being debugged.

The Detach action will detach the debugger from the current request, which allows to stop debugging but also let the PHP script finish as it normally would.

The Stop listening action will tell pugdebug to stop listening to new incomming connections.

Setting up the development environment

Setting up the development environment should be needed only when you want to help out with developing pugdebug itself.

The main dependencies are Python 3.7/9, QT5, SIP and PyQt5.

WordPress

As WordPress uses a hook system Break on the first line can create issues because open the first file and not where it is the breakpoint as example, so it is better to disable that option.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].