IP Library Granted Patent US 8,423,969
Granted Patent B2
US 8,423,969 · App. 12/048,784 · Granted Apr 16, 2013

Inheritance breakpoints for use in debugging object-oriented computer programs

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,423,969
App. No.
12/048,784
Granted
Apr 16, 2013
Kind
B2
Abstract

An apparatus and program product utilize an inheritance breakpoint to assist in debugging an object-oriented computer program having a method identified in a base class or interface and implemented by at least one method implementation in another class. Creation of an inheritance breakpoint for a particular method responsive to a user request typically results in the automated generation of a breakpoint for all or a subset of the implementations of that method, often freeing a user from having to manually determine what particular implementation(s) implement that method. In many environments, the automated generation of implementation breakpoints may be performed during initial loading of classes within which such implementations may be defined.

Claims (20)

1. An apparatus, comprising:

a memory within which is resident at least a portion of an object-oriented computer program under debug, the object-oriented computer program including a first program entity in which is identified a method, and a second program entity that is different from and that depends from the first program entity, and that includes an implementation of the method; and

program code configured to set an inheritance breakpoint that is associated with the first program entity and with the method in response to user input, and to halt execution of the object-oriented computer program during debugging in response to reaching the implementation of the method defined in the second program entity.

2. The apparatus of claim 1 , wherein the first program entity is an interface that identifies the method, and wherein the second program entity is a class that implements the method.

3. The apparatus of claim 1 , wherein the first program entity is a first class that includes a second implementation of the method, wherein the second program entity is a second class that inherits from the first class, and wherein the first implementation of the method in the second class overrides the second implementation of the method in the first class.

4. The apparatus of claim 1 , wherein the first program entity is an abstract class that identifies the method, and wherein the second program entity is a non-abstract class that implements the method.

5. The apparatus of claim 1 , wherein the inheritance breakpoint is additionally associated with the method, and wherein the program code is configured to store in a breakpoint data structure an entry that identifies the first program entity and the method.

6. The apparatus of claim 1 , wherein the program code is further configured to set a breakpoint on each implementation of the method, and wherein the program code is configured to halt execution of the object-oriented computer program during debugging in response to reaching a breakpoint set on such implementation.

7. The apparatus of claim 6 , wherein the program code is configured to set the breakpoint on each implementation of the method by dynamically setting a breakpoint on each implementation of the method in a class in the object-oriented computer program during loading of the class.

8. The apparatus of claim 1 , wherein the program code is configured to associate a user-specified condition with the inheritance breakpoint, and wherein the program code is configured to halt execution of the object-oriented computer program during debugging in response to reaching the implementation of the method only if the user-specified condition has been met.

9. An apparatus, comprising:

a memory within which is resident at least a portion of an object-oriented computer program under debug, the object-oriented computer program including a method and a plurality of implementations of the method, wherein the method is identified in a first program entity, and wherein at least one of the plurality of implementations of the method is defined in a second program entity that depends from the first program entity; and

program code configured to receive user input to halt program execution during debugging in response to reaching any of the plurality of implementations of the method, and to thereafter set a breakpoint for at least a subset of the plurality of implementations such that execution of the object-oriented computer program will be halted in response to reaching any of the implementations on which a breakpoint has been set, wherein the user input to halt program execution includes user input to set an inheritance breakpoint on the method, wherein the inheritance breakpoint is associated with the first program entity, and wherein the program code is configured to set a breakpoint for the implementation defined in the second program entity.

10. The apparatus of claim 9 , wherein the program code is configured to set a breakpoint by, during loading of a class in the object-oriented computer program, identifying each implementation of the method in the class and setting a breakpoint on such implementation.

11. A program product, comprising:

program code configured to set an inheritance breakpoint in response to user input, wherein the inheritance breakpoint is associated with a first program entity in an object-oriented computer program and a method identified in the first program entity, and to halt execution of the object-oriented computer program during debugging in response to reaching an implementation of the method defined in a second program entity in the object-oriented computer program that is different from and that depends from the first program entity; and

a non-transitory storage medium storing the program code.

12. A program product, comprising:

program code configured to receive user input to halt program execution of an object-oriented computer program during debugging in response to reaching any of a plurality of implementations of a method in the object-oriented computer program, and to thereafter set a breakpoint for at least a subset of the plurality of implementations such that execution of the object-oriented computer program will be halted in response to reaching any of the implementations on which a breakpoint has been set, wherein the method is identified in a first program entity, and wherein at least one of the plurality of implementations of the method is defined in a second program entity that depends from the first program entity, wherein the user input to halt program execution includes user input to set an inheritance breakpoint on the method, wherein the inheritance breakpoint is associated with the first program entity, and wherein the program code is configured to set a breakpoint for the implementation defined in the second program entity in connection with setting the breakpoint for the subset of the plurality of implementations; and

a non-transitory storage medium storing the program code.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: AIRBNB, INC.
Reel/Frame 056427/0193 →