Minimizing debug information for global types in compiled languages
Filing Information
- Patent Number: US6226786
- Application Number: US8992527
- Filing date: 12/17/1997
- Issue date: 05/01/2001
- Predicted expiration date: 12/17/2017
- U.S. Classifications: 717/4 ·
- International Classifications: --
- International Classifications: 395704 · 717 4 · 717 5 · 717 6 · 717 7 ·
- Related U.S. Application Data:
CROSS-REFERENCE TO RELATED APPLICATIONS
The present invention is related to U.S. patent application Ser. No. 08/992,876, entitled “A BINARY LIBRARY WITH DEBUGGING SUPPORT,” filed Dec. 17, 1997, and assigned to the assignee of the present application. - Foreign Priority: CA2194020 - 12/24/1996 ·
Abstract
The invention provides a technique for generating minimal debugging type information in a distinguished compile unit while still supporting the debugging of classes for which the distinguished compile unit is not, in this module, being built or debugged, where the debugging information for the classes has been previously compiled into one or more object modules. On detecting a reference to a type in a program, the compiler inserts code into the module it is compiling to direct the linker where to locate the debugging information object module describing that type. Usually, the object module will be located in a separate link library, so the compiler directs the linker to add the debug library to the list of libraries from which it tries to resolve symbolic references, and to add a reference to an external linkage symbol defined in the object module describing the type. The linker will have to resolve this symbol by adding the debug library into the link.References Cited
U.S. Patent Documents
| Document Number | Assignees | Inventors | Issue/Pub Date |
|---|---|---|---|
| US5361350 | International Business Machines Corporation | Conner et al. | Nov 1994 |
| US5367683* | Digital Equipment Corporation | Brett | Nov 1994 |
| US5408665* | Borland International, Inc. | Fitzgerald | Apr 1995 |
| US5421016 | International Business Machines Corporation | Conner et al. | May 1995 |
| US5446900* | Microtec Research, Inc. | Kimelman | Aug 1995 |
| US5493680 | National Business Machines Corporation | Danforth | Feb 1996 |
| US5560009* | Hewlett-Packard Company | Lenkov et al. | Sep 1996 |
| US5579520* | Borland International, Inc. | Bennett | Nov 1996 |
| US5692195* | International Business Machines Corporation | Conner et al. | Nov 1997 |
| US5732273* | Digital Equipment Corporation | Srivastava et al. | Mar 1998 |
| US5771385* | Sun Microsystems, Inc. | Harper | Jun 1998 |
| US5815714* | Hitachi America, Ltd. | Shridhar et al. | Sep 1998 |
| US5946486* | International Business Machines Corporation | Pekowski | Aug 1999 |
| US5963740* | Digital Equipment Corporation | Srivastava et al. | Oct 1999 |
Foreign Patent Documents
| Document Number | Assignees | Inventors | Issue/Pub Date |
|---|---|---|---|
| GB0777177 | Apr 1997 | ||
| JP363189948* | Aug 1988 | ||
| JP403019040* | Jan 1991 | ||
| JP405165751* | Jul 1993 |
Other Publications
| Helm & Maarek, “Integrated Information Retrieval and Domain Specfic Approaches for Browsing and Retrieval In Object Oriented Class Libraries”, OOPSLA-ACM, pp. 47-61, 9/92. |
| Kiczales & Lamping, “Issues In The Design and Specification of Class Libraries”, OOPSLA-ACM, pp. 435-451, 6/95. |
| Gotwals et al “pC /Streams: A Library for I/O On Complex Distributed Data Structures”, PPOPP-ACM, pp. 11-18, 5/91. |
| IBM Corporation; “Linking Program Modules on a Stack Microprocessor”. IBM Technical Disclosure Bulletin, pp. 4528, May 1977.* |
| IBM Corporation; “Overlay Linker and Loader Process”. IBM Technical Disclosure Bulletin, pp. 5615-5620, May 1986.* |
| IBM Corporation; “Method to Intercept Dynamically Loaded Subroutine Calls on the IBM RISC System/6000 AIX Operating System”. IBM Technical Disclosure Bulletin, pp. 382-387, Mar. 1992.* |
| IBM Corporation; “Automatically Generating Formatted Documentation for Object-Oriented Class Libraries”. IBM Technical Disclosure Bulletin, pp. 375-378, Dec. 1994.* |
| Yourst. Inside Java Class Files. Dr. Dobbs Journal. vol. 23, No. 1. Abstract, Jan. 1998.* |
Referenced By
| Document Number | Assignee | Inventors | Issue/Pub Date |
|---|---|---|---|
| US6611924 | Lucent Technologies Inc. | Stuart Warmink et al. | Aug 2003 |
| US7243338 | Oracle International Corporation | Ajay Sethi et al. | Jul 2007 |
| US6883162 | Sun Microsystems, Inc. | Christopher J. Jackson et al. | Apr 2005 |
| US6434738 | David Arnow | Aug 2002 | |
| US6463578 | International Business Machines Corporation | David Phillip Johnson | Oct 2002 |
| US7080370 | Sun Microsystems, Inc. | Lawrence A. Crowl et al. | Jul 2006 |
| US6671873 | Intel Corporation | Cigdem Y. Milobinski et al. | Dec 2003 |
Patent Family
| Document Number | Assignee | Inventors | Issue/Pub Date |
|---|---|---|---|
| US6226786 | International Business Machines Corporation | Kevin Paul Hickman et al. | May 2001 |
| CA2194020 | IBM CANADA | HICKMAN KEVIN PAUL et al. | Feb 2002 |
Independent Claims | See all claims (15)
- 1. A method for providing debugging information for a plurality of types in an object-oriented computer programming system, the method comprising the steps of: providing a class library for the at least one type of the plurality of types, the class library capable of being dynamically linked without full debugging information; providing a control directive to a linker to add a library containing an object module with the full debugging type information for the at least one type; providing a reference to an external symbol defined in the object module for the at least one type; providing a full description of the at least one type in a distinguished compile unit for the at least one type; and providing a degenerate description for the at least one type.
- 6. A computer-readable medium containing a program for providing debugging information for a plurality of types, the program including instructions for: providing a control directive to a linker to add a library containing an object module with full debugging type information for the at least one type, the at least one type of the plurality of types being in a class library, the class library capable of being dynamically linked without full debugging information; providing a reference to an external symbol defined in the object module; providing a full description of the at least one type in a distinguished compile unit for the at least one type; and emitting a degenerate description for the at least one type.
- 9. A compiler adapted to compile object oriented programs and include debugging information for a plurality of types being compiled, the compiler comprising: means for providing a full description of the at least one type in a distinguished compile unit for the at least one type and otherwise emitting a degenerate description for the at least one type, the at least one type of the plurality of types being in a class library, the class library capable of being dynamically linked without full debugging information; means to direct a linker to add to a plurality of link libraries a library containing an object module including full debugging type information for the at least one type; and means to direct the linker to resolve the degenerate description by accessing the library containing the full debugging type information for the at least one type.





View assignee updates
analyzing 100 million+ documents to uncover your network...