Minimizing debug information for global types in compiled languages

Share
Save

Share On Facebook Share On Twitter Share By Email
Save Item
Add to
my lists

Filing Information

  • Patent Number: US6226786
  • Application Number: US8992527
  • Filing date: 12/17/1997
  • Issue date: 05/01/2001
  • Predicted expiration date: 12/17/2017
Explore Your Innovation Network™ for an introduction to:

Innovation Network Your First Name:
Last Name:
 
Already a member? Sign In
  • 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 ·
15 Claims, 4 Drawings


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 NumberAssigneesInventorsIssue/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 NumberAssigneesInventorsIssue/Pub Date
GB0777177Apr 1997
JP363189948*Aug 1988
JP403019040*Jan 1991
JP405165751*Jul 1993
* cited by examiner

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.*
* cited by examiner

Patent Family

Document NumberAssigneeInventorsIssue/Pub Date
US6226786International Business Machines CorporationKevin Paul Hickman et al.May 2001
CA2194020IBM CANADAHICKMAN KEVIN PAUL et al.Feb 2002

Read Patent

Read patent

Independent Claims | See all claims (15)

  1. 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.
  2. 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.
  3. 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.