Integrated Toolkit Components
Debug Facility  
  Prior Next
 

IT provides a number of features and capabilities though its built in debugger.   The debugger can be involved on the current program at any time by pressing F7 which will launch a new session and automatically start the debug session.   Alternatively, the programmer can select Debug off the menu bar and attach to an existing application process.

Once in Debug mode the debug control panel and view area will be displayed either at the bottom on the Screen or in a separate window.

You can toggle the display mode by clicking on the button in the upper right corner of the debug display.

The debug control bar controls the execution of the application.

Load Program

Causes the current program being edited to be loaded into the process

Stop

Ends the execution of the process (effectively issues an END)

Pause

Pauses execution of the process

Refresh

Updates all the debug information and attempts to resync the program edit window with the application being debugged

Kill Task

Terminates the task and closes the debug session

Run

Resumes execution of the process

Step

Executes a single directive in the process being debugged

Continuous

Repeatedly executes a Step followed by a Refresh providing the programmer a real time display of the process as the code is executed

Step Over

Executes the next directive and if a GOSUB, CALL or other such directive stops only once the directive completes

Step Out

Resumes execution of the process until the current GOSUB, CALL or other stacked logic is completed.

For a short tutorial on the use of the debug facility, please visit our web site by clicking here

Live data display

During a debug session, the program display region becomes an active variable and expression display region.   Placing the mouse over a variable in the program currently displayed causes the system to display the variable contents in a tip window.  

In addition, highlighting full expressions with the mouse causes the system to evaluate and display the result of the expression.

Debugging display

There are five main program views included with the debugger:

  • Call Stack shows program and subroutine (GOSUB) entries
  • Watch Values allows the programmer to view variables as they change
  • Breakpoint Manager to set pre-defined stopping points in the programs
  • Files displays files currently open and their status
  • Trace list shows the statements executed during the debug session

The drop down menu allows the user to select the desired view.

Call Stack

The Call stack (show above) displays a list of all the programs currently on the program execution stack.   Program GOSUB/RETURN, FOR/NEXT, or WHILE/WEND on the local stack display when expanding the program tree entry.

Double clicking on an entry in the Call Stack will cause the system to load and transfer to the selected program/statement.

Watch Values

The Watch value display allows the programmer to view variables and expressions from the currently running program.   To add entries to the Watch list the user can simply type the name of the variable or expression in the "Expression" field, or use the "Add to Watch" option from a variable in the program Synopsis display.

Breakpoints

The breakpoint display allows you to add/delete breakpoints from the system.   The display includes the line number and program name for all current breakpoints.

To add new breakpoints, simply load the program and right click on the statement where you want the breakpoint inserted.

File List

The File list display shows the currently opened files and state.   This would include the current record key, extract status, etc…

Trace

During a debug session, the system tracks program execution in an internal trace buffer.   Selecting the Trace display will allow the programmer to view the last 500 or so instructions from that buffer.   The Trace list in IT uses a special Tree View display allowing for the automatic collapsing and expanding of the trace output in the programs.

Like the Call Stack, double clicking an entry in the Trace list will cause the program and line to be displayed in the Edit window.  

Right clicking or pressing CTRL-F3 brings up a search function that allows the programmer to search a trace for a specific character sequence.

Application Interface

The debug facility comes with two special interfaces that can be used to help co-ordinate between the debugger and the application being debugged.

Wait for debugger:

CALL "*it.dbg/process;Wait", description$

The Wait entry point in *it.dbg/process can be used to cause an application to wait until the debugger is attached and monitoring its execution.   The optional description field can be used to help the programmer identify the process waiting.   The value in the description parameter will be displayed in the list of active tasks shown in the "Attach Process" and "Terminate Process" process lists.

Identify Process:

CALL "*it.dbg/process;Set_State", description$

The Set_State entry point can be used to identify a process on the system.   It, like the Wait entry point, takes the description passed and will record it for display in the process list.

This function can be used by application designers in general to aid in the identification of processes.   By calling this function during normal execution, the IT debugger can be used to location and track processes in the system.   For example if an applications menu system updated the state to indicate the current menu selection being processed, the IT process list could be used to determine what each user in the system was doing.

  Prior Next