Patent US6256777B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6256777B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for debugging of optimized machine code, using hidden breakpoints

Assignee: Hewlett Packard Enterprise Development LP
•
Filing: 1998-10-09
•
Granted: 2001-07-03
•
Expires: 2018-10-09
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A debugging method is described wherein a debug information file is constructed which includes information that identifies changes of variable value assignments to registers at plural steps of program. The information further includes data that identifies any change of sequence of machine code instructions from the sequence of source code instructions that gave rise to the machine code instructions. Using such information, hidden breakpoints are inserted into the machine code (wherein a hidden breakpoint enables access to an instruction to either store a variable value from an identified register or to move to a machine code instruction that corresponds in order to a source code instruction that gave rise to the machine code instruction). Thereafter, the program is executed under control of a debug program and, upon encountering a hidden breakpoint, automatically either stores the variable value that exists in the identified register or moves to execute a machine code instruction that is indicated by the hidden breakpoint. The actions carried out in response to encountering the hidden breakpoint are invisible to the user.

Inventors

  • 👤 William B. Ackerman

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 13:56
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/362; G06F11/3628

Claims Analysis

Total Claims: 21
Claim 1
Independent Claim 103 words
A method for debugging a program, said method comprising the steps of: a) deriving a debug information file that includes information that identifies a point in said program at which a variable value is discarded from a register; b) inserting a hidden breakpoint (HBP) into said program using said information from said debug information file, said HBP enabling access to a directive; and c) executing said program and, upon encountering said HBP, performing said directive, wherein said directive causes a storage of said variable value from said register, and wherein said variable value is thus available subsequent to said discarding from said register.
Claim 2
Independent Claim 103 words
A method for debugging a program, said method comprising the steps of: a) deriving a debug information file that includes information that identifies a point in said program at which a variable value is discarded from a register; b) inserting a hidden breakpoint (HBP) into said program using said information from said debug information file, said HBP enabling access to a directive; and c) executing said program and, upon encountering said HBP, performing said directive, wherein said directive causes a storage of said variable value from said register, and wherein said variable value is thus available subsequent to said discarding from said register.
Claim 3
Dependent Claim 18 words
The method as recited in claim 1 , wherein step c) operates under control of a debug program.
Claim 4
Dependent Claim 27 words
The method as recited in claim 1 , wherein said point in said program is a point at which a new variable is assigned to said register.
Claim 5
Dependent Claim 29 words
The method as recited in claim 1 , wherein step a) is performed during a compile action of said program and step b) is performed by a debug program.
Claim 6
Dependent Claim 30 words
The method as recited in claim 1 , wherein said variable value that is stored in step c) is available for later evaluation by a user during a debug action.
Claim 7
Independent Claim 123 words
A method of debugging a program of machine code instructions that have been re-ordered, said method comprising the steps of: a) deriving a debug information file that includes information that identifies a point in said program at which a sequence of machine code instructions deviates from an order that corresponds to a sequence of source code statements from which said machine code instructions were derived; b) inserting a hidden breakpoint (HBP) into said program using said information from said debug information file, said HBP enabling access to a directive; and c) executing said program and, upon encountering said HBP, performing said directive, wherein said directive causes a transfer of control to a machine code instruction that corresponds to a next-in-order source code statement.
Claim 8
Independent Claim 123 words
A method of debugging a program of machine code instructions that have been re-ordered, said method comprising the steps of: a) deriving a debug information file that includes information that identifies a point in said program at which a sequence of machine code instructions deviates from an order that corresponds to a sequence of source code statements from which said machine code instructions were derived; b) inserting a hidden breakpoint (HBP) into said program using said information from said debug information file, said HBP enabling access to a directive; and c) executing said program and, upon encountering said HBP, performing said directive, wherein said directive causes a transfer of control to a machine code instruction that corresponds to a next-in-order source code statement.
Claim 9
Dependent Claim 19 words
The method as recited in claim 6 , wherein step c) is performed under control of a debug program.
Claim 10
Dependent Claim 38 words
The method as recited in claim 6 , wherein said point in said program is a point at which a reordering of said machine code instructions occurred as a result of an optimization action by a compiler program.
Claim 11
Dependent Claim 29 words
The method as recited in claim 6 , wherein step a) is performed during a compile action of said program and step b) is performed by a debug program.
Claim 12
Dependent Claim 125 words
A memory media for controlling a computer to debug a program, said memory media comprising: a) means for controlling said computer to derive a debug information file that includes information that identifies a point in said program at which a variable value is discarded from a register; b) means for controlling said computer to insert a hidden breakpoint (HBP) into said program, using said information from said debug information file, said HBP enabling access to a directive; and c) means for controlling said computer to execute said program and, upon encountering said HBP, to perform said directive, wherein said directive causes a storage of said variable value from said register, and wherein said variable value is thus available subsequent to said discarding from said register.
Claim 13
Dependent Claim 125 words
A memory media for controlling a computer to debug a program, said memory media comprising: a) means for controlling said computer to derive a debug information file that includes information that identifies a point in said program at which a variable value is discarded from a register; b) means for controlling said computer to insert a hidden breakpoint (HBP) into said program, using said information from said debug information file, said HBP enabling access to a directive; and c) means for controlling said computer to execute said program and, upon encountering said HBP, to perform said directive, wherein said directive causes a storage of said variable value from said register, and wherein said variable value is thus available subsequent to said discarding from said register.
Claim 14
Dependent Claim 19 words
The memory media as recited in claim 10 , wherein means c) operates under control of a debug program.
Claim 15
Dependent Claim 28 words
The memory media as recited in claim 10 , wherein said point in said program is a point at which a new variable is assigned to said register.
Claim 16
Dependent Claim 31 words
The memory media as recited in claim 10 , wherein means a) operates during a compile action of said program and means b) is performed under control of a debug program.
Claim 17
Dependent Claim 145 words
A memory media for controlling a computer to debug a program of machine code instructions that have been reordered, said memory media comprising: a) means for controlling said computer to derive a debug information file that includes information that identifies a point in said program at which a sequence of machine code instructions deviates from an order that corresponds to a sequence of source code statements from which said machine code instructions were derived; b) means for controlling said computer to insert a hidden breakpoint (HBP) into said program using said information from said debug information file, said HBP enabling access to a directive; and c) means for controlling said computer to execute said program and, upon encountering said HBP, to perform said directive, wherein said directive causes a transfer of control to a machine code instruction that corresponds to a next-in-order source code statement.
Claim 18
Dependent Claim 145 words
A memory media for controlling a computer to debug a program of machine code instructions that have been reordered, said memory media comprising: a) means for controlling said computer to derive a debug information file that includes information that identifies a point in said program at which a sequence of machine code instructions deviates from an order that corresponds to a sequence of source code statements from which said machine code instructions were derived; b) means for controlling said computer to insert a hidden breakpoint (HBP) into said program using said information from said debug information file, said HBP enabling access to a directive; and c) means for controlling said computer to execute said program and, upon encountering said HBP, to perform said directive, wherein said directive causes a transfer of control to a machine code instruction that corresponds to a next-in-order source code statement.
Claim 19
Dependent Claim 20 words
The memory media as recited in claim 14 , wherein means c) is performed under control of a debug program.
Claim 20
Dependent Claim 39 words
The memory media as recited in claim 14 , wherein said point in said program is a point at which a reordering of said machine code instructions occurred as a result of an optimization action by a compiler program.
Claim 21
Dependent Claim 31 words
The memory media as recited in claim 14 , wherein means a) operates during a compile action of said program and means b) is performed under control of a debug program.

References Cited (Backward Citations)

US4953084A Cited
US5265254A Cited
US5956512A Cited
US5533192A Cited
US5881288A Cited
US5812850A Cited
US5956479A Cited
US6091896A Cited
US5889981A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-07-02 2005-01-01 2005-07-03 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-07-02 2009-01-01 2009-07-03 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-07-02 2013-01-01 2013-07-03 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag