PHP PORTABLE IDE: Notepad++ Debugging 1

 

MPG UniCenter

Uniform Server Portable PHP IDE.

Notepad++ Debugging 1

At this stage we have a fully functional PHP CLI IDE for debugging scripts. It is self-contained with its own PHP interpreter and is portable allowing it to be run from a USB memory stick.

This page provides a quick introduction to the BDGp user interface using a simple PHP CLI script.


Test Script

Script:

  • Script name: debug_test.php
  • Location folder: C:\us_portable_ide\php_scripts
  • Content: Shown on right
<?php
$a=10;
$b=20;
$c=$a+$b;
print "Result = $c\n";
//xdebug_break() ;
print "Debug Test $a\n";
print "Debug Test $b\n";
?>

Debugging overview

At first sight the debugger looks intimidating however it really is easy to use. Start the IDE by running Run_IDE.bat located in folder <whatever path you used>/us_portable_ide.

Open test file debug_test.php in Notepad++ edit window and follow the instructions below to debug.

  • Start Notepad++.
  • A) Click to show debugger window
  • B) Click to show console window
  • C) Open a script file to be debugged (debug_test.php).
  • Set at least one break-point.
    • D) Click on a line becomes highlighted
    • E) Click Add breakpoint button
      Marks line with a red dot
      If clicked again toggles to off
    • F) Entry displayed in list
      Right click list to delete all breakpoints
  • G) From macro select Run PHP CLI Debug
  • Use the debugger toolbar or shortcut keys to control the debugger.
    • H) Step Into - Proceed into functios
    • I) Step over - Proceed
    • J) Step out - If you're in a function, skip the rest and go to return.
    • K) Run to cursor - Automatically adds a break point runs script up to the cursor.
    • L) Run - Runs to next breakpoint or script end
    • M) End - Terminate debugging
    • O) Eval - Allows you to change a variable

Note: Script output and errors are displayed in the cosole window

 


Top

Change Value of a variable

After running up to a breakpoint and before continuing you may want to change a variable’s value.

Set a variable as follows

  • Step A) Click the Eval button this opens a pop-up


  • Step B) In the pop-up enter a variable name and assign a new value. For example $a=222
    Note you do not need to add a semicolon.
  • Step C) Click OK this performs an evaluation and opens a pop-up


  • Step D) Pop-up displays result of evaluation. Unlike PHP's eval new value is immediately available to your script.
    Script may update this variable as it runs.
  • Step E) Click cross to close pop-up window.

 


Top

Watches

List of variables displayed in the Local Context may become large masking a variable you want to constantly monitor.

Ideally you want to directly monitor a few variables this is achieved by using the Watches window. Add variables as appropriate to this window.

Add Watch

  • Step A) Click Watch tab (bottom of DBGp window)
  • Step B) Right click in this window and select Add watch opens Add Watch pop-up
  • Step C) In the pop-up enter variable to watch
  • Step D) Click OK adds variable to watch window


Delete Watch

  • Right click on watch variable to delete
  • Select Delete

 

Top

Xdebug Break function

For debugging you must set at least one break point. Currently we have a default break point set when the debugger starts. This is set to break on first line of a script.

Generally this is suitable for most debugging applications however sometimes you want to start debugging in another page that is called from your main script.

Disable default break point

How to disable

  • Open DBGp configuration window Plugins>DBGp>Config...
  • Step D) Un-Check Break at first line when debugging starts
  • Step E) Click OK

Leave all other settings as they are

Note 1:

For debugging to take place either manually set a break point in a page
or add the xdebug_break() function

 

Add xdebug_break() to a page

You can add the xdebug_break() to any location in a page and break at that point

For example

  • Modify test script debug_test.php as shown on right
  • Start debugger
  • From macro select Run PHP CLI Debug
  • Notepad++ icon flashes
  • Green arrow points to line 6 xdebug_break()

Note:

No variables displayed in local context window.
To gather the debug information you need to step
the debugger one position using Step Into button.

<?php
$a=10;
$b=20;
$c=$a+$b;
print "Result = $c\n";
xdebug_break() ;
print "Debug Test $a\n";
print "Debug Test $b\n";
?>

Top

Alternative Console Window

There are occasions when you want to use a real command window (console cmd) by running a batch file. This batch file in turn runs a PHP CLI script.

Batch file

  • For example create a new batch file debug.bat
  • Content shown on right
  • Save to folder C:\us_portable_ide\php_scripts
mode con:cols=65 lines=20
TITLE UNIFORM SERVER - Debug Test
COLOR B0
@echo off
cls

..\unicode\php\php.exe -c ..\unicode\php\php_cli_ide_debug.ini debug_test.php

pause

Debug

The batch file runs our test script debug_test.php any output or input is directed to the batch file command window. The script can be debugged using Notepad++ while the internal console window is not used.

  • Start Notepad++.
  • Show debugger window (click its icon) No need to open test script.
  • Navigate to folder C:\us_portable_ide\php_scripts
  • Run batch file debug.bat (double click on it)
  • Blank command window opens (see right)


  • Notepad++ tray icon flashes.
  • Script is loaded into edit window
  • Debug window is ready for debugging.
  • Complete run from debug window is shown on right

 

Top

Summary

Above has covered main features of the debugging window.

You can either use the integrated or an external command console window for displaying and inputting data to a CLI script.

Next page covers server side configuration for debugging WebPages.


Top