Method of controlling the execution of object-oriented programs
First Claim
1. A method for use by a digital computer in controlling execution of an object-oriented program to effect a defined action when a specified virtual function is invoked on a specified object during execution of said program, said method comprising,initiating execution of said program,creating said specified object in accordance with execution of said program,after said creating, determining an address of a function that is called when said specified virtual function is invoked on said specified object, andinserting a breakpoint at said determined address of a function.
1 Assignment
0 Petitions
Accused Products
Abstract
A method used by a digital computer in controlling execution of an object-oriented program to effect a defined action, e.g., stopping the program, when a specified virtual function is invoked on a specified object during execution of the program. A breakpoint address is determined at run time, advantageously after the specified object is created in accordance with execution of the program. The breakpoint address determination is not based solely on symbol table, pre-execution, information, but in addition on information generated in conjunction with the creation of the specified object. The breakpoint is inserted while program execution is stopped at an intermediate program point after the specified object is created. After program execution is resumed and the specified virtual function is invoked in accordance with the program, the breakpoint fires. However, the defined action is performed only in response to determining that the firing occurred on the specified object.
341 Citations
21 Claims
-
1. A method for use by a digital computer in controlling execution of an object-oriented program to effect a defined action when a specified virtual function is invoked on a specified object during execution of said program, said method comprising,
initiating execution of said program, creating said specified object in accordance with execution of said program, after said creating, determining an address of a function that is called when said specified virtual function is invoked on said specified object, and inserting a breakpoint at said determined address of a function.
-
14. A method for use by a digital computer in controlling execution of an object-oriented program, said method comprising
compiling said program, after said compiling, initiating execution of said program, stopping execution at an intermediate point of said program, after stopping execution and in response to a request to effect a defined action when a specified virtual function is invoked on a specified object during execution of said program, determining an address of a function that is called when said specified virtual function is invoked on said specified object, and inserting a breakpoint at said determined function address.
-
16. A method for use by a digital computer in effecting a defined action when a specified function is invoked on a specified object during execution of an object-oriented program, said method comprising
determining an address of a function that is called when said specified function is invoked on said specified object, inserting a breakpoint at said determined address of a function, obtaining an address of said specified object, storing an entry in a breakpoint table, said entry defining said determined address of a function and said obtained address of said specified object for said breakpoint, in response to detecting firing of a breakpoint, ascertaining an address of said detected firing of a breakpoint and an address of a present object and when the ascertained breakpoint address and present object address respectively correspond to the address of a function and object address of said entry in said breakpoint table, performing said defined action.
-
20. A method for use by a digital computer in controlling execution of an object-oriented program to effect a defined action when a specified function is invoked with a specified argument during execution of said program, said method comprising
initiating execution of said program, creating an object in accordance with execution of said program, after said creating, determining an address of a function that is called when said specified function is invoked with said specified argument and said specified argument is associated with said object, and inserting a breakpoint at said determined address of a function.
Specification