Browse Prior Art Database

Application of Interpreter for Debugging Functions

IP.com Disclosure Number: IPCOM000105920D
Original Publication Date: 1993-Sep-01
Included in the Prior Art Database: 2005-Mar-20
Document File: 2 page(s) / 90K

Publishing Venue

IBM

Related People

Gordhamer, SL: AUTHOR [+4]

Abstract

Essential functions of a debugger, such as the ability to display and alter variables, enter breakpoints, and establish trace specifications, are implemented by employing language-sensitive translators to produce language-independent intermediate code which is subsequently interpreted. A debugging language defines the constructs pertinent for debugging programs. Debugging language statements, containing language-specific expressions, are translated to a common intermediate code. The intermediate code is interpreted.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Application of Interpreter for Debugging Functions

      Essential functions of a debugger, such as the ability to
display and alter variables, enter breakpoints, and establish trace
specifications, are implemented by employing language-sensitive
translators to produce language-independent intermediate code which
is subsequently interpreted.  A debugging language defines the
constructs pertinent for debugging programs.  Debugging language
statements, containing language-specific expressions, are translated
to a common intermediate code.  The intermediate code is interpreted.

Intermediate code instructions generated as a result of display or
alter debugging statements are interpreted immediately.  Assuming the
program under investigation is suspended, the programmer requests the
current value of variable to assist him to discover an error in
program behavior.  The programmer, upon finding an erroneous value,
may decide to continue the current debugging session, and alter the
value permitting the program to resume execution.  The intermediate
code produced from the display and alter functions of a debugger is
interpreted immediately to effect the programmer's requirements.

Intermediate code instructions generated as a result of entering
conditional breakpoints, establishing trace specifications, marking
variables to be watched, or specifying more than one statement to
execute, are stored and interpreted later.  The condition of a
conditional breakpoint is evaluated just prior to executing the
statement on which the breakpoint was entered.  The actions specified
for a particular trace are performed just before the statements on
which the trace was established.  A watched variable is examined on
every statement.  The step count is decremented every time a
statement is executed.  All of the actions described may be
implemented using an interpreter which is invoked, optionally, before
a statement is executed.

Facilities used to investigate program behavior include:

o     Entering breakpoints - A breakpoint identifies a statement in a
       program which, if encountered, causes execution to be
    suspended.
o     Entering watchpoints - A watchpoint identifies a variable in a
       program which, if assigned, causes execution to be suspended.
o     Displaying and altering the value of variables.
o     Recording or tracing the statements executed by a program and,
       possibly recording data associated with such statements.
o     Recording t...