1. A method for enabling the dynamic generation of debugging information in a computer system having a memory, a display, a program counter with a value, and a debugger operational during debugging to detect a halt in execution of a program that includes a plurality of named components stored in the memory, each component including an attribute representing the validity of the component data, source code for implementing properties of the component and object code for executing the component, the method comprising the steps of: (a) providing class libraries for retention in the memory from which may be instantiated (1) a database functionally for persistently storing and retrieving the named components in the memory, (2) a compiler functionality for calculating dependencies associated with each component and for compiling source code of the each component to obtain component object code, and (3) a build functionality for sequencing the compilation of components responsive to the component properties and dependencies: (b) providing a run-time environment to (1) support the instantiation of the database, compiler and build functionalities; and (2) support the execution of the debugger and the program such that (i) when program execution halts during debugging, using the program counter value to locate a component in the memory, (ii) checking the attribute of the located component to ascertain the validity of symbolic debugging information relating the located component object code to the located component source code, (iii) generating new symbolic debugging information by compiling the located component source code when the symbolic debugging information is not valid, and (iv) associating valid symbolic debugging information with the located component.
1. A method for enabling the dynamic generation of debugging information in a computer system having a memory, a display, a program counter with a value, and a debugger operational during debugging to detect a halt in execution of a program that includes a plurality of named components stored in the memory, each component including an attribute representing the validity of the component data, source code for implementing properties of the component and object code for executing the component, the method comprising the steps of: (a) providing class libraries for retention in the memory from which may be instantiated (1) a database functionally for persistently storing and retrieving the named components in the memory, (2) a compiler functionality for calculating dependencies associated with each component and for compiling source code of the each component to obtain component object code, and (3) a build functionality for sequencing the compilation of components responsive to the component properties and dependencies: (b) providing a run-time environment to (1) support the instantiation of the database, compiler and build functionalities; and (2) support the execution of the debugger and the program such that (i) when program execution halts during debugging, using the program counter value to locate a component in the memory, (ii) checking the attribute of the located component to ascertain the validity of symbolic debugging information relating the located component object code to the located component source code, (iii) generating new symbolic debugging information by compiling the located component source code when the symbolic debugging information is not valid, and (iv) associating valid symbolic debugging information with the located component. 4. The method in claim 1 wherein step (b)(2)(iii) further comprises the steps of: (1) using the compiler functionality to create, as part of the symbolic debugging information, at least one map representing a relation between the located component object code and the located component source code; and (2) associating the at least one map with the located component.