Object-oriented symbolic debugger using a compiler driven database and state modeling to control program execution
First Claim
1. An apparatus for use on a computer system having an operating system thereon, the apparatus controlling an executable program having executable code lines created by processing source code lines with a compiler to generate object code modules and linking the object code modules with a linker, wherein the compiler and the linker generate debugging information during processing, the apparatus comprising:
- (a) a database creator which is responsive to the debugging information for creating an information database containing a plurality of map entries defining particular relationships between the source code lines and the executable code lines and methods for accessing data variable locations;
(b) a plurality of software model objects modeling the executable program and the operating system, the software model objects containing data and code therein for generating state data concerning the state of the executable program and the operating system; and
(c) a debugger engine which is responsive to the state data generated by the plurality of software model objects for examining the information database to control the computer to selectively execute the executable program.
3 Assignments
0 Petitions
Accused Products
Abstract
A human oriented object programming system provides an interactive and dynamic process for debugging computer programs which facilitates the development of complex computer programs such as operating systems and large applications with graphic user interfaces (GUIs). The debugging system uses a database of information relating machine executable code to source code. The database is developed during the compilation process using an extensible object-oriented set of tools. The tools standardize the information developed during compilation into an information format which the debugging system can utilize to provide the user with a powerful source code view of the corresponding executing code.
-
Citations
66 Claims
-
1. An apparatus for use on a computer system having an operating system thereon, the apparatus controlling an executable program having executable code lines created by processing source code lines with a compiler to generate object code modules and linking the object code modules with a linker, wherein the compiler and the linker generate debugging information during processing, the apparatus comprising:
-
(a) a database creator which is responsive to the debugging information for creating an information database containing a plurality of map entries defining particular relationships between the source code lines and the executable code lines and methods for accessing data variable locations; (b) a plurality of software model objects modeling the executable program and the operating system, the software model objects containing data and code therein for generating state data concerning the state of the executable program and the operating system; and (c) a debugger engine which is responsive to the state data generated by the plurality of software model objects for examining the information database to control the computer to selectively execute the executable program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
55. A method for use on a computer system having an operating system thereon, the method controlling an executable program having executable code lines created by processing source code lines with a compiler to generate object code modules and linking the object code modules with a linker, wherein the compiler and the linker generate debugging information during processing, the method comprising the steps of:
-
(a) using the debugging information to create an information database containing a plurality of map entries defining particular relationships between the source code lines and the executable code lines and methods for accessing data variable locations; (b) constructing a plurality of software model objects to model the executable program and the operating system, the software model objects containing data and code therein for generating state data concerning the state of the executable program and the operating system; and (c) using the state data generated by the plurality of software model objects and information extracted from the information database to control the computer to selectively execute the executable program. - View Dependent Claims (56, 57, 58, 59, 60)
-
-
61. A computer program product for use on a computer system having a memory and an operating system, the computer program product controlling an executable program having executable code lines created by processing source code lines with a compiler to generate object code modules and linking the object code modules with a linker, wherein the compiler and the linker generate debugging information during processing, the computer program product comprising a computer usable medium having computer readable program code thereon including:
-
(a) program code which uses the debugging information to create in the memory an information database containing a plurality of map entries defining particular relationships between the source code lines and the executable code lines and methods for accessing data variable locations; (b) program code for constructing in the memory a plurality of software model objects to model the executable program and the operating system, the software model objects containing data and code therein for generating state data concerning the state of the executable program and the operating system; and (c) program code loadable into the memory which uses the state data generated by the plurality of software model objects and information extracted from the information database to control the computer to selectively execute the executable program. - View Dependent Claims (62, 63, 64, 65, 66)
-
Specification