Debugging Improvements in Zend Studio 12.5

Newest release of Zend Studio 12.5 delivers a set of improvements for debugging features. Below you can find the essence of the most important ones that will surely help you to become a PHP debugging champ.

Indicating type of variables

Presentation model in Variables and Expression view has been enhanced to indicate what kind of variable you’re looking at. The new set of icons gives a possibility to find out if related element is e.g. $this object, local/superglobal variable, public/protected or private field. The following icons will tell you what the kind of related element is:

var-listBelow is an example of Variables view that presents different kinds of variables:

Highlighting variables which values have been changed

This feature is very useful in case of observing the state of variables when debugging. If any variable changes its value after a step/resume action, it will be highlighted in Variables view with dedicated color (which is yellow as a default). This improvement simplifies debugging as you can focus quickly on the variables which values have been changed after some code execution. Below is an example screenshot of Variables view with the elements which values have been changed after last step:

Support for handling parallel requests (e.g. AJAX)

While debugging PHP application that supports parallel requests (e.g. AJAX), you are now able to handle code execution in parallel context. It means that every parallel request that hits a breakpoint is now visible as a separate sub-element of debugged PHP app and can be handled individually by means of desired order of execution. This feature will help you to easily notify a case when you have to deal with parallel requests (your PHP IDE will let you know about it) and figure out how to handle it while debugging. Below is an example screenshot of a Debug view with multiple requests that hit the same breakpoint:

Configuring debugger settings at corresponding owner level

Since Zend Studio 12.5 release you are able to set up debugger connection settings at corresponding owner level (PHP server or executable). The goal of this feature is to simplify & clarify the process of setting up the connection between PHP IDE and related PHP debuggers with the use of dedicated set of settings that can be different for particular debugger installation. Debugger connection settings (that are still available in “Debuggers” preference page as a default “template” values) can now be simply overridden for individual PHP server or executable configuration. In case of Zend Debugger, you can also make sure if the connection with debugger engine can be established with the use of “Test” button that is now available in wizards for creating & editing PHP server or executable. What’s more, while setting up the appropriate client IPs for connection, you can use “Configure” button which gives a possibility to choose IPs from the list of addresses that could be automatically detected on a workstation that Studio is running on.

An example Zend Debugger configuration for PHP server:

An example XDebug configuration for PHP server:

 Happy PHPing!