Debugging in &quantaplus;
Christopher
Hornbaker
chrishornbaker@earthlink.net
Linus
McCabe
Linus@McCabe.nu
Debugging in &quantaplus;
Using the &PHP; Debugger
With &quantaplus; version 3.3, the debugger handling was reimplemented.
The support for the now obsolete &PHP; (3) builtin debugger and was dropped,
as was the support for the dbg debugger. Instead, a general debug plugin system
was developed, to allow different plugin implementations.
Currently only one plugin is available which adds support to use &gubed; with
&quantaplus;.
To use a debugger for your project, open the project settings and chose a suitable
debugger plugin. To alter debugger specific settings, press the 'Options' button
next to the debugger plugin drop down.
General usage
Once a project has a debugger activated, a few additional items will appear in the
&quantaplus; user interface:
Debugger menu
A new menu will appear where you can reach most of the debugger functionality.
Debugger toolbar
A toolbar with access to the most common debugging commands.
Variables toolview
A toolview where the contents of watched variables is showed. Appears in the left dock by default.
Breakpoints toolview
A toolview where all the breakpoints, line and conditional, are listed. Appears in the bottom dock by default.
Debug Output toolview
A toolview where the output (as in HTML) of the debugger is shown. Appears in the bottom dock by default.
Depending on what the debugger plugin supports, all or a subset of the following functionality will be available.
Debug
Session
Start Session
This action is used to connect to the debugger if that is required, or tell the plugin to start listening for debug requests.
This action is triggered by default when a project using a debugger is opened, so usually you don't need to care about it.
Debug
Session
End Session
The opposite of
Debug
Session
Start Session
. Closes a connection to the debugger or stops listening for requests.
Debug
Execution
Send HTTP Request
Sends a HTTP request to the server to initiate a debug request. Using this action is equivalent to
using a browser to look at the current document. The output of the request ends up in the Debug
Output dock.
Debug
Execution
Pause
Pauses a running script
Debug
Execution
Run
Tells the debugger to start executing the script and send information about watched variables and current
line of execution as it goes along. If this is done while a script is paused, execution will proceed. If it's done
before a debug request is initiated, the script will start running as soon as the request is initiated.
Debug
Execution
Leap
Tells the debugger to start executing the script without sending information about watched variables and current
line of execution. If this is done while a script is paused, execution will proceed. If it's done
before a debug request is initiated, the script will start leaping as soon as the request is initiated.
Debug
Execution
Step
Tells the debugger to execute the next instruction in the script, without stepping into functions or inclusions.
Debug
Execution
Step Into
Tells the debugger to execute the next instruction in the script, stepping into functions or inclusions if possible.
Debug
Execution
Step Out
Tells the debugger to execute until it escapes the current function.
Debug
Execution
Skip
Tells the debugger to skip the next instruction and proceed to the next one as if the current one didn't exist.
Debug
Execution
Kill
Tells the debugger to kill the currently running script.
Debug
Breakpoints
Break when...
Opens a dialog where you can specify conditional breakpoints.
Debug
Breakpoints
Toggle breakpoint
Toggles a line breakpoint at the line of the cursor in the current line
Debug
Breakpoints
Clear breakpoints
Clears all the breakpoints.
Debug
Variables
Watch variable
Opens a dialog where you can enter a variable or expression you wish to watch. The value of the watch will appear
in the variables tool view.
Debug
Variables
Set value of variable
Opens a dialog where you can enter a variable and a new value for it.
Using &kxsl;, the &XSL; Debugger
&kxsl; is the creation of Keith Isdale, as is this section of the
documentation. &kxsl; is a &kde; front-end and a KPart to
xsldbg, which you can find at
http://xsldbg.sf.net along with many other works by
Keith.
To start &kxsl;, select
Plugins
&kxsl;
.
Please refer to the &kxsl; documentation for further information
regarding its usage.