Browse Prior Art Database

Visual Debugger for C++ Object-Oriented Programs

IP.com Disclosure Number: IPCOM000114509D
Original Publication Date: 1994-May-01
Included in the Prior Art Database: 2005-Mar-28
Document File: 2 page(s) / 60K

Publishing Venue

IBM

Related People

Kuse, K: AUTHOR

Abstract

Disclosed is a software tool for debugging C++ object-oriented programs. It has a graphical user-interface for visualizing a network of objects created by a C++ application program. The tool includes the following features.

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

Visual Debugger for C++ Object-Oriented Programs

      Disclosed is a software tool for debugging C++ object-oriented
programs.  It has a graphical user-interface for visualizing a
network of objects created by a C++ application program.  The tool
includes the following features.

 a) display objects created at run-time, in the form of rectangle.

 b) display pointers among objects in the form of edge.

 c) allow the user to select each object displayed in the form of
rectangle and to chose one of the following functions for the
selected object.
 c-1) display type of the selected object.
 c-2) display the file name that includes a statement for creating
the
selected object, and its statement number.
 c-3) display the value of each variable owned by the selected
object.
 c-4) call each function owned by the selected object.
 c-5) set break points at the entry points of all functions or some
of them owned by the selected object.
 c-6) trace each function or each statement owned by the selected
object

      The tool consists of two major components: a component for
Object-Oriented functions (OOC), and a component for General
Functions (GC).  For example, a standard debugger of UNIX*, dbx
realizes GC.  OOC includes a debug manager, a GUI manager, and a
database.  The debug manager and GC are communicated with a UNIX
pipeline.  There is a object table and a class table in the database.
The following is a sequence of the process.

 1) The tool stores the names of functions and variables in each
class
in the class table.

 2) The tool set the mode of tracing the constructor and the
destructor of each class.

 3) When the user selects 'run' or 'continue' of the execution of
a deb...