PhpED delivers the power of advanced PHP debugging with unique features setting PhpED apart from other PHP IDEs. Parallel Debugging and Global Expression True Breakpoints are the powerful debugging features available exclusively in PhpED.
Parallel Debugging
See the movie about Parallel Debugging
The ability to run multiple debugging sessions is a must have for at least two types of PHP applications:
- Web 2.0 applications making Ajax, REST or other Web Services calls to PHP scripts
- Applications where one PHP script launches another PHP script, which is often the case for CLI PHP applications
In the first scenario, you can make use of DebugBreak() function provided by PhpED's PHP debugger, to start the debugging session every time when the request is made to the PHP script. In this case PhpED will start a new debugging session for each request and run them in parallel, giving you the ability to compare the values of the variables etc.
In the second scenario the need for multiple parallel debugging sessions is pretty self-evident because you need to be able to debug both the calling PHP script as well as the script started by the caller.
How to debug multiple parallel sessions?
When new debugging session is initiated PhpED will prompt you with the dialog activating the new parallel session
|
|
|
When multiple debug sessions are running you can easily switch between them:
|
|
|
You specify different Debugging settings for different Projects - PHP developers can easily switch from local debugging to remote, from Srv Web server to Apache/ISS etc. - all Settings of PHP Debugger can be specified in Project Properties
Expression True Global Breakpoints
Using Expression True Global feature of PhpED's PHP Debugger you can set global breakpoints that stop execution when a certain expression becomes true, regardless of the current execution point.
Expression True Global Breakpoints allow you to get to the bottom of the hardest bug in the your software. Set to be triggered by any script in the application, having these breakpoints is unrivaled PHP debugging feature.
How to set Expression True Global Breakpoints
To set Global Expression True breakpoints you need to:
- Set a regular break point in PhpED
- Go to View->Debug windows->Breakpoints
- From the right mouse Pop-up menu on the breakpoint select Properties
- Enter the condition used to trigger the break point and check Expression true global
|
|
|
Set Execution point (Jump to another line).
Set Execution point option lets you change the execution point within the current context (during debug sessions only).
|
|
|
Just in Time Debugging
With its self-explanatory name Just in Time debugging is available in DBG - NuSphere's PHP Debugger to start the debugging session the moment PHP encounters an error in the code. All you need is to set debugger.JIT_enabled=on in [debugger] section of php.ini file.
You can watch a live demonstration of using the PHP debugger and advanced remote PHP debugging from our video tutorial library. Additional technical information is available on the NuSphere Forum. Download a free trial of our PHP Debugger today!
Secure PHP Debugging
Support for remote debugging in PhpED would not be useful if it wasn't properly secured. The level of protection of the communications between DBG - NuSphere's PHP Debugger and PHP IDE is so high, that you can debug even your production sites.
Debugger's IP security
You have the full control over which IP or range of IPs and are allowed to start the debugging sessions and you also control on which ports debugger can communicate with PHP IDE. To configure these settings you can use the following 3 instructions in php.ini file:
debugger.hosts_allow=host1 host2 host3
debugger.hosts_deny=ALL
debugger.ports=7869
Where host1 host2 and host3 are host names or IP or network addresses allowed to start debug sessions
PHP Debugging over SSH tunnel
To further secure debugger communications with PhpED NuSphere's PHP Debugger can communicate with PHP IDE over SSH. If you run debug session though an SSH tunnel, you need to list just one local IP address only (localhost) in debugger.hosts_allow instructions. You can learn more about the details about debugging over SSH here
SSL encryption of debugger communications
NuSphere provides debugger modules for 18 different plaforms. PhpED's DBG - PHP Debugger is the only debugger using binary interface with IDE protected with Secure Socket Layer (SSL) encryption. SLL enabled PHP debugger modules are distributed in a separate archive along with PhpED installation
|