Claims Analysis
Total Claims: 21
Claim 1
Independent Claim
188 words
A method for monitoring the execution of a target program comprising a series of instructions to determine which instructions have been executed, the target program being executable on a computer in a run mode in which instructions are executed without interruption, and in a step mode in which instructions are executed one at a time, the method comprising the computer performed steps of: executing a portion of the target program in step mode; while executing the target program in step mode, maintaining a table of target program instructions that have been executed; when a branch instruction that transfers control to a first branch path is executed in step mode, inserting one or more breakpoints into the target program such that upon the next execution of the branch instruction, a breakpoint will be encountered at least for the case in which said next execution transfers control to a second branch path different from the first branch path; switching to run mode when an instruction in said table is encountered while executing in step mode; and switching to step mode when a breakpoint is encountered while executing in run mode.
Claim 2
Independent Claim
188 words
A method for monitoring the execution of a target program comprising a series of instructions to determine which instructions have been executed, the target program being executable on a computer in a run mode in which instructions are executed without interruption, and in a step mode in which instructions are executed one at a time, the method comprising the computer performed steps of: executing a portion of the target program in step mode; while executing the target program in step mode, maintaining a table of target program instructions that have been executed; when a branch instruction that transfers control to a first branch path is executed in step mode, inserting one or more breakpoints into the target program such that upon the next execution of the branch instruction, a breakpoint will be encountered at least for the case in which said next execution transfers control to a second branch path different from the first branch path; switching to run mode when an instruction in said table is encountered while executing in step mode; and switching to step mode when a breakpoint is encountered while executing in run mode.
Claim 3
Dependent Claim
24 words
The method of claim 1, comprising the further step of maintaining a breakpoint table indicating breakpoints that have been inserted into the target program.
Claim 4
Dependent Claim
29 words
The method of claim 1, comprising the further step of inserting one or more breakpoints into the target program prior to the commencement of execution of the target program.
Claim 5
Dependent Claim
44 words
The method of claim 1, wherein the step of maintaining a table indicating which instructions have been executed comprises maintaining a range table comprising one or more range records, each range record indicating a range of one or more instructions that have been executed.
Claim 6
Dependent Claim
23 words
The method of claim 4, comprising the further step of creating one or more range records prior to execution of the target program.
Claim 7
Dependent Claim
40 words
The method of claim 1, wherein when the branch instruction is capable of transferring control to one of two or more predetermined branch paths, the inserting step comprises inserting breakpoints in each branch path other than the first branch path.
Claim 8
Dependent Claim
33 words
The method of claim 6, wherein each branch path includes a first instruction, and wherein the breakpoints are inserted at the first instruction of each branch path other than the first branch path.
Claim 9
Dependent Claim
18 words
The method of claim 6, comprising the further step of removing a breakpoint when the breakpoint is encountered.
Claim 10
Dependent Claim
36 words
The method of claim 6, wherein when the branch instruction comprises an indirect jump instruction that transfers control to a variable target program address, the inserting step comprises inserting the breakpoint at the indirect jump instruction.
Claim 11
Dependent Claim
43 words
The method of claim 9, comprising the further step of, when a breakpoint is encountered, removing the breakpoint if the breakpoint was inserted in a predetermined branch path, but not removing the breakpoint if the breakpoint was inserted at an indirect jump instruction.
Claim 12
Dependent Claim
40 words
The method of claim 10, comprising the further step of maintaining a breakpoint table indicating each inserted breakpoint and, for each breakpoint, further indicating whether the breakpoint was inserted in a predetermined branch path or at an indirect jump instruction.
Claim 13
Dependent Claim
17 words
The method of claim 1, wherein the inserting step comprises inserting the breakpoint at the branch instruction.
Claim 14
Dependent Claim
31 words
The method of claim 12, wherein the breakpoint is inserted at the branch instruction when the branch instruction is an indirect jump that transfers control to a variable target program address.
Claim 15
Dependent Claim
34 words
The method of claim 13, comprising the further step of maintaining a breakpoint table indicating each inserted breakpoint and, for each breakpoint, further indicating that the breakpoint was inserted at an indirect jump instruction.
Claim 16
Dependent Claim
55 words
The method of claim 1, wherein when the branch instruction is capable of transferring control to one of two or more predetermined branch paths, the inserting step comprises inserting breakpoints either in each branch path other than the first branch path, or at the branch instruction, depending upon the number of said predetermined branch paths.
Claim 17
Dependent Claim
41 words
The method of claim 15, comprising the further step of, when a breakpoint is encountered, removing the breakpoint if the breakpoint was inserted in a branch path, but not removing the breakpoint if the breakpoint was inserted at a branch instruction.
Claim 18
Independent Claim
195 words
An apparatus for monitoring the execution of a target program comprising a series of instructions to determine which instructions have been executed, the target program being executable on a computer in a run mode in which instructions are executed without interruption, and in a step mode in which instructions are executed one at a time, the apparatus comprising: means for executing a portion of the target program in step mode; means operable while executing the target program in step mode for maintaining a table of target program instructions that have been executed; means operable when a branch instruction that transfers control to a first branch path is executed in step mode for inserting one or more breakpoints into the target program such that upon the next execution of the branch instruction, a breakpoint will be encountered at least for the case in which said next execution transfers control to a second branch path different from the first branch path; means for switching to run mode when an instruction in said table is encountered while executing in step mode; and means for switching to step mode when a breakpoint is encountered while executing in run mode.
Claim 19
Independent Claim
195 words
An apparatus for monitoring the execution of a target program comprising a series of instructions to determine which instructions have been executed, the target program being executable on a computer in a run mode in which instructions are executed without interruption, and in a step mode in which instructions are executed one at a time, the apparatus comprising: means for executing a portion of the target program in step mode; means operable while executing the target program in step mode for maintaining a table of target program instructions that have been executed; means operable when a branch instruction that transfers control to a first branch path is executed in step mode for inserting one or more breakpoints into the target program such that upon the next execution of the branch instruction, a breakpoint will be encountered at least for the case in which said next execution transfers control to a second branch path different from the first branch path; means for switching to run mode when an instruction in said table is encountered while executing in step mode; and means for switching to step mode when a breakpoint is encountered while executing in run mode.
Claim 20
Dependent Claim
43 words
The apparatus of claim 17, wherein when the branch instruction is capable of transferring control to one of two or more predetermined branch paths, the means for inserting comprises means for inserting breakpoints in each branch path other than the first branch path.
Claim 21
Dependent Claim
20 words
The apparatus of claim 17, wherein the means for inserting comprises means for inserting the breakpoint at the branch instruction.