TEXTILE COMPUTER SYSTEMS, INC
618 Bluff Trail, San Antonio, TX 78216
Telephone(210)491-0046, Fax(210)491-9054
The SQR Interactive Debugger which has a general name of "DEB*010.SQT" creates an SQR Debug
file for any required SQR, with a file extension of ".XFD". When this Debug file is
executed with a debug flag of "-DEBUG*" (both interactive and trace mode) or "-DEBUG%"
(only interactive mode) the required SQR could be debugged interactively. When this Debug
file is executed with a debug flag of "-DEBUG*" (both interactive and trace mode) or
"-DEBUG#" (only trace mode) the trace file for the required SQR could be created. The
Trace File has the following
information:
- Details of the debug flag setting.
- Listing of Global Variables
- Listing of Local Variables and the names of the Procedures in which
the local variables were used, if any.
- Indication of entereing into a procedure with the message "Entering into ****"
where "****" is the name of the proceudre.
- For local procedures listing of Passed variables and their values when
entering into the procedure.
- Indication of changes in values of Global variables with the message
"Changes in Global variables at LineNo: ****"
where "****" is the line number followed by the names of the Global
variables, its old value and its new value.
- Indication of changes in values of Local variables with the message
"Changes in Local variables at LineNo: ****"
where "****" is the line number followed by the names of the Local
variables, its old value and its new value.
- For local procedures listing of Passed variables and their values when
leaving from the procedure.
- Indication of leaving from a procedure with the message "Leaving from ****"
where "****" is the name of the proceudre.
Any SQR might be easily debugged using interactive debugging along with the
Trace File
information. For more information on how to execute the debugger refer to the manual
or the "READMED.TXT" file that came along with the software.
At the beginning of the execution, the debugger automatically switches all the logical break
points at the beginning of each procedure to on position. So this will temporarily stop
the execution of the SQR at the beginning of the first procedure, and at this point a panel
similar to the one shown at FIGURE 1 will be presented to the user.

FIGURE 1
When the execution stops temporarily, because a logical brek point is turned on to break,
a panel similar to the one shown in FIGURE 1 is presented to the user, showing the source code
starting from the last executed statement and names of as many variables as possible and
their values. The left half of the screen is used to display the source code whereas the
right half of the screen is used to display the variable names and their values. Because of
the limited screen space only selected variables are displayed. The variables that were changed
during the last executed statment and the variables that were changed manually will be given
higher preference. The variables are displayed in alphabetical order. The variables that were
changed during the last executed statment are highlighted with the message "(C)" and the
variables that were changed manually are highlighted with the message "(M)" in front of the
respective variable names. At this point the user has the following choices:
- Using the various options under BROWSE, various parts of the source
code could be viewed:
- P:View the source code
starting from the last executed statement use this option. If the source
code is already displayed starting from the last executed statement, then
there is no change in the panel.
- I: Line numbers and names of
the declared procedures.
- M: View the source code
starting from a particular line number. If M is entered without a line number
followed by M, then the user will be asked to enter the line number. The valid
line numbers are 1 through the last line number in the source code. The number
of lines in the source code is displayed at the top of the panel.
- R: Writing the trace
information into the trace file coule be stopped or restarted. The current mode
is displayed at the top of the panel. This option will switch this mode from
"Y" to "N" and vice versa.
- Using the various options under BREAKS, various parts of
the source code could be viewed:
- T: Toggle the logical
break point from "ON" to "OFF" and vice versa. If T is entered without a
line number followed by T, then the logical break point at the top of list
will be toggled, otherwise the entered line number will be toggbled if it
is a logical break point. Also the source from the entered line number
will be displayed. The valid line numbers to toggle is any line number
that is a logical break point.
- A: Set all the
logical break points to "ON" position.
- C: Set all the
logical break points to "OFF" position.
- C: Set all the
logical break points at the beginning of each procedure to "ON" position.
This is the default status when the debugger was started.
- S: Step through to the
next executed logical break point, whether that break point was to "ON"
position or not. By choosing S repeatedly the program execution could be
stopped temporarily at every logical break point.
- Using the various options under Variables, the names of the
various variables and their values could be viewed and also could be modified:
- G: View and modify,
if needed, any global variable.
- L: View and modify,
if needed, any local variable. This option will be available only
if the last executed statement was within a local procedure. To
know more about local variables refer to your SQR manual.
- Q: Quit the program
gracefully.
Top
Home

FIGURE 2
The line numbers and the names of the decalred procedures are displayed in a panel similar to
the one shown in FIGURE 2. Also in this panel the total number of declared procedures
are displayed. At this point the user has the following choices:
- P: View the line numbers and the names of the decalred procedures prior to
the declared procedure shown at the top of the list.
- N: View the line numbers and the names of the decalred procedures next to
the declared procedure shown at the bottom of the list.
- Q: Return back to the
previous panel.
Top
Home

FIGURE 3
The panel shown in FIGURE 3 is similar to the one shown in FIGURE 1 except that the
staring source code line number is different from the last executed statment line number.
The user can view the source code starting from any selected line number. User entry
of P would bring back the panel shown
in FIGURE 1 where the starting source code line number is same as the last executed
statment line number.
Top
Home

FIGURE 4
The panel shown in FIGURE 4 is similar to the one shown in FIGURE 1 except that the
mode of trace file is changed from "Y" to "N" or from "N" to "Y". The user can change
the mode from "Y" to "N" and vice versa. When the mode is set to "Y" the trace
inforamtion will be written to the trace file.
Top
Home

FIGURE 5
The panel shown in FIGURE 5 is similar to the one shown in FIGURE 1 except that the
starting line number is different, if a line number is entered along with "T", and the
break mode is different. The user can view the source code starting from any selected
line number entered along with "T". The toggle makes any line number, which is a
logical break point, from "OFF" position to "ON" position and vice versa.
The logical break points are highlighted with "*" in front of the line numbers and the
logical break points that are set to "ON" position are highlighted with "%*" in front of
the line numbers. At this point the user has all the choices that were available as
before and explained for FIGURE 1.
Top
Home

FIGURE 6
The panel shown in FIGURE 6 is similar to the one shown in FIGURE 1 except that all the
logical break points are set to "ON" position. At this point the user has all the
choices that were available as before and explained for FIGURE 1.
Top
Home

FIGURE 7
The panel shown in FIGURE 7 is similar to the one shown in FIGURE 1 except that all the
logical break points are set to "OFF" position. At this point the user has all the
choices that were available as before and explained for FIGURE 1.
Top
Home

FIGURE 8
The panel shown in FIGURE 8 is similar to the one shown in FIGURE 1 except that all the
logical break points at the beginning of every proceudre are set to "ON" position.
At this point the user has all the choices that were available as before and explained
for FIGURE 1.
Top
Home

FIGURE 9
The panel shown in FIGURE 9 is similar to the one shown in FIGURE 1 except that the
execution was stopped temporarily at the next executed logical break point, whether that
break point was to "ON" position or not. At this point the user has all the
choices that were available as before and explained for FIGURE 1.
Top
Home

FIGURE 10
The panel similar to the one shown in FIGURE 10 will be presented to the user when the
user chose the option "G" in the previous panel which was similar to the one shown in
FIGURE 1. At this point the user has the following choices:
- A: To accept the user
entered modified values, if any, and return back to the previous panel after
modifying the global variables with the user entered values. The user
modified values would be highlighted with the message "(M)" in front of
the variable name as shown in FIGURE 11.
- C: To cancel the user
entered modified values, if any, and return back to the previous panel
without mmodifying the global variables.
- M: To enter a new value for any selected
global variable. If "M" is entered followed by a number for a global
varibale then the new modified value could be entered for that global
varibale. If "M" is entered without a number then the new modified value
could be entered for the global varibale shown at the top of the list.
- P: View the global variables prior to the global variable shown at the
top of the list in the current panel.
- N: View the global variables next to the global variable shown at the
bottom of the list in the current panel.
- S: Search a selected global variable. The list of global variables
will be displayed starting from the global variable that is equal or greater
than the entered search string.
- D: To give higer preference to display
the global variable along with the source code. If "D" is entered followed
by a number for a global
varibale then that global variable will be given higher preference while
displaying the global variables along with the source code. If "D" is
entered without a number then the global varibale shown at the top of the
list will be given the higher preference. The variables that are given
higher preference are displayed with prefix '(D)'.
Top
Home

FIGURE 11
Top
Home

FIGURE 12
The panel similar to the one shown in FIGURE 12 will be presented to the user when the
user chose the option "L" in the previous panel which was similar to the one shown in
FIGURE 1. At this point the user has the following choices:
- A: To accept the user
entered modified values, if any, and return back to the previous panel after
modifying the local variables with the user entered values. The user
modified values would be highlighted with the message "(M)" in front of
the variable name as shown in FIGURE 11.
- C: To cancel the user
entered modified values, if any, and return back to the previous panel
without mmodifying the local variables.
- M: To enter a new value for any selected
local variable. If "M" is entered followed by a number for a local varibale
then the new modified value could be entered for that local varibale.
If "M" is entered without a number then the new modified value could be
entered for the local varibale shown at the top of the list.
- P: View the local variables prior to the local variables shown at the top
of the list in the current panel.
- N: View the local variables next to the local variable shown at the
bottom of the list in the current panel.
- S: Search a selected variable. The list of local variables will be
displayed starting from the local variable that is equal or greater than the
entered search string.
Top
Home

FIGURE 13
The panel shown in FIGURE 13 will be presented so that the user can stop the program
after executing an exit routine or can continue running the program. At this point
the user has the following choices:
- Y: To stop the program after
executing an exit routine.
- N: To return back to
the previous panel similar to the one as shown in FIGURE 1.
Top
Home