Working
with the Debugger
The purpose of this tutorial is to teach you how to debug
files and applications both remotely and locally in order to gain maximum
efficiency and accuracy from your files and projects.
Contents
The Zend Debugger can detect and diagnose errors in PHP code situated
locally or on remote servers. The debugger allows you to control the execution
of your program by setting breakpoints, suspending launched programs,
stepping through your code, and examining the contents of variables.
Debugging should be used at stages where your scripts and applications
are formed sufficiently to be tried and tested.
The Zend Debugger has two main features:
Debugging PHP files (PHP Scripts) from your workspace
Debugging files, applications and projects (PHP
Web Pages) on your server.
Back to Top
Files on your workspace can be debugged locally using PDT's internal
debugger.
|
|
|
|

|
This procedure demonstrates how to debug
a file locally:
Create a PHP file, called
"debug", and copy-paste the example code into it.
(Click here to see the code.)
Set a breakpoint at line 103 by double-clicking
the marker bar to the left of the editor window.
A blue ball will appear.
Save the file.
Click the arrow next to the debug button on the toolbar and select Open Debug dialog –or- select Run
| Open Debug dialog from the main menu.
A Debug dialog will appear.
Double-click the PHP Script option to create a
new debug configuration.

Enter a name for the new configuration.
From the PHP Debugger drop-down list, select whether
to use the Zend Debugger or XDebug.
Select the required PHP executable. This must
match the PHP executable used for the project.
Under PHP File, click Browse and select the "debug"
file.
Ensure that the 'Break at First Line' Breakpoint
checkbox is selected.
Click Apply and then Debug.
Click Yes if asked whether to open the PHP Debug
Perspective.
A number of views will open with information about
your script.
The Debug View is where the debugging process
can be monitored and controlled.

The debugging process will currently have
stopped where your first <?php label appears.
Click the Resume icon to continue
to the breakpoint.
Click Step Into . The Debugger
goes into the function defined in line 103 and advances to line 77.
The Variable view will now display various information
about the relevant variables and parameters through which the function
was reached.
In the editor window, place and hold the cursor
over $worker_name, $worker_address, and $worker_phone. A tooltip appears
displaying the variable values.

Click Step Return. The cursor returns
to line 103.
The Debug Output view will display the HTML output created up until
the breakpoint, while the Browser Output view will show the current output
to a browser.
In the Debug view, click Resume until
the debugging process is terminated.
Notice that as the debugging process progresses, the Debug Output and
Browser Output displays are updated.

The console view will display any errors or warnings
about your script. In this case, it will display a Notice about an undefined
variable on line 105.
Click on the PHP Perspective icon to return to
normal editing mode.
To run the debugging process again, click the
arrow next to the debug icon on the toolbar and select
your configuration -or- select Open Debug Dialog and double-click your
configuration from the Debug dialog.
|
|
|
Back to Top
PDT also allows you to debug applications,
projects or files that are already on the server. Using the debugging
process, you can also create an application in PDT and
publish it to the server before debugging.
|
|
|
|

|
This procedure demonstrates how to debug
applications on a server:
Create a new PHP file, called "form1",
with the following code:
<html>
<body>
<form action="welcome.php" method="post">
Name: <input type="text" name="name"
/>
Age: <input type="text" name="age"
/>
<input type="submit" />
</form>
</body>
</html>
Create a second PHP file, called "welcome",
with the following code:
<html>
<body>
Welcome <?php echo $_POST["name"];
?>.<br />
You are <?php echo $_POST["age"];
?> years old.
</body>
</html>
Save both files.
Copy the files to your server.
Click the arrow next to the
debug button on
the toolbar and select Open Debug dialog –or- right-click the file in
PHP explorer or within the file's editor window and select Debug as |
Open Debug dialog.
A Debug dialog will appear.
Double-click on the PHP Web Page option to create
a new debug configuration.
Enter a name for the new configuration.
Select the Zend Debugger to from the Server Debugger
drop-down list.
Ensure that your server is selected from the list.
If you have not configured a server, click New and enter:
Your server's name.
Tthe URL of its document root.
Under the File/Project category, click Browse
and select the "form1" file. This will be the file from which
the debugger will start debugging (the 'debug target'.)
Ensure that the URL pointing to the file location
is correct.
If this is not correct, unmark the Auto Generate checkbox and manually
change the URL.
Click Apply and then Debug.

PDT will now upload
the files to your server and begin the debugging process.
Click Yes when asked whether to open the PHP Debug
Perspective.
The Debug Perspective will open with several views
relevant to the debugging process
In the editor view, you will see the code for
the "form1" file.
In the Debug view, click Resume to resume the
debugging process.
The browser output will display a form asking
you to enter your Name and Age.
Select the browser view (tabbed with the editor
window). This will display the output of your script in a browser in 'real
time'.
Note that this is different from the Browser Output window.
In the browser view, enter your Name and Age and
click Submit Query.

Another editor tab will open, with the script
from the welcome.php file.
In the Debug view, click Resume to resume the
debugging process.
The browser output and browser views will display
the final result of your application:
"Welcome [Name].
You are [Age] years old."

The debugging process will have terminated.
Click on the PHP Perspective icon to return to
normal editing mode.
To run the debugging process again, click the
arrow next to the debug icon on the toolbar and select
your debugging configuration.
|
|
|
Back to Top
Back to Top