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

Machine independent debugger

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1999-12-30
•
Granted: 2004-09-21
•
Expires: 2019-12-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention teaches a source-level debugger that defines symbol tables with a grammar. A grammar interface component is used by the compiler to automate portions of the debugger to construct and write the symbol table in a grammar thus simplifying the compiler. The grammar interface component is used by the debugger during execution of the target to read and decode the symbol table, thus simplifying the debugger. Using a grammar to specify the symbol table also documents the symbol table concisely and emphasizes that symbol tables are data structures, not file formats. Many of the pitfalls of working with low-level file formats can be avoided by focusing instead on grammar-based high-level data structures and automating the implementation details. Management of breakpoints is divided by splitting the nub into a client nub that is local to the target, a server nub that is local to the debugger. The management of breakpoints is localized to the client nub, thus saving communication time between the client nub and the server nub in support of breakpoint processing.

Inventors

  • 👤 David R. Hanson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 18:52
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/362

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 95 words
A computerized method for debugging a target program having a plurality of modules, the computerized method comprising: communicating, by a server nub to a client nub of a debugger, stopping points common to the modules; communicating, by the client nub to the server nub, an event notification when the client nub encounters a stopping point within a module, the event notification contains information associated with the stopping point; determining, by the server nub, whether the stopping point corresponds to an extraneous breakpoint; and if the stopping point corresponds to an extraneous breakpoint, dismissing the breakpoint.
Claim 2
Dependent Claim 95 words
A computerized method for debugging a target program having a plurality of modules, the computerized method comprising: communicating, by a server nub to a client nub of a debugger, stopping points common to the modules; communicating, by the client nub to the server nub, an event notification when the client nub encounters a stopping point within a module, the event notification contains information associated with the stopping point; determining, by the server nub, whether the stopping point corresponds to an extraneous breakpoint; and if the stopping point corresponds to an extraneous breakpoint, dismissing the breakpoint.
Claim 3
Dependent Claim 70 words
The computerized method for debugging a target program as in claim 1 , the controlling execution of the target executable program by the client nub further comprising: executing an executable statement in the target program; determining whether a breakpoint command set a breakpoint on the executable statement; and sending an indication of a breakpoint if the determining indicates that a breakpoint is set on the executable statement, to the debugger.
Claim 4
Dependent Claim 78 words
The computerized method for debugging a target program as in claim 1 , the method further comprising: sending a plurality of debugging commands from a computer program debugger executing on a server directed to the target executable program on a client; receiving the debugging commands by a server nub executing on the server; sending the breakpoint commands from the server nub; and receiving the breakpoint commands through a communication line at the client nub executing on the client.
Claim 5
Dependent Claim 84 words
A computer-readable medium having computer-executable instructions to cause a server program to perform a method comprising: setting stopping points in modules of a program, the stopping points are common to the modules; receiving from a client nub an event notification containing information about a stopping point encountered by the client nub; in response to receiving the event notification, determining whether the stopping point corresponds to an extraneous breakpoint; and if the stopping point is determined to correspond to an extraneous breakpoint, dismissing the breakpoint.
Claim 6
Dependent Claim 84 words
A computer-readable medium having computer-executable instructions to cause a server program to perform a method comprising: setting stopping points in modules of a program, the stopping points are common to the modules; receiving from a client nub an event notification containing information about a stopping point encountered by the client nub; in response to receiving the event notification, determining whether the stopping point corresponds to an extraneous breakpoint; and if the stopping point is determined to correspond to an extraneous breakpoint, dismissing the breakpoint.
Claim 7
Dependent Claim 65 words
A computer system for debugging a computer program having a plurality of modules, comprising: means for a server to set stopping points common to the modules; means for the client to communicate information about a stopping point in a module to the server; means for the server to determine whether the stopping point corresponds to an extraneous breakpoint; and means for dismissing the extraneous breakpoint.
Claim 8
Dependent Claim 65 words
A computer system for debugging a computer program having a plurality of modules, comprising: means for a server to set stopping points common to the modules; means for the client to communicate information about a stopping point in a module to the server; means for the server to determine whether the stopping point corresponds to an extraneous breakpoint; and means for dismissing the extraneous breakpoint.
Claim 9
Dependent Claim 104 words
A computer-implemented method for debugging a program having a plurality of modules, the computer-implemented method comprising: communicating, by a server nub to a client nub of a debugger, stopping points common to the modules; communicating, by the client nub to the server nub, an event notification when the client nub encounters a stopping point within a module, the event notification contains information associated with the stopping point; in response to receiving the event notification, determining, by the server nub, whether the stopping point corresponds to an extraneous breakpoint; and if the stopping point is determined to correspond to an extraneous breakpoint, dismissing the breakpoint.
Claim 10
Dependent Claim 104 words
A computer-implemented method for debugging a program having a plurality of modules, the computer-implemented method comprising: communicating, by a server nub to a client nub of a debugger, stopping points common to the modules; communicating, by the client nub to the server nub, an event notification when the client nub encounters a stopping point within a module, the event notification contains information associated with the stopping point; in response to receiving the event notification, determining, by the server nub, whether the stopping point corresponds to an extraneous breakpoint; and if the stopping point is determined to correspond to an extraneous breakpoint, dismissing the breakpoint.
Claim 11
Dependent Claim 17 words
The computer-implemented method of claim 6 , wherein the stopping points correspond to coordinates in the program.
Claim 12
Dependent Claim 20 words
The computer-implemented method of claim 7 , wherein the coordinates represent locations in the source code associated with the program.

References Cited (Backward Citations)

US5093914A Cited
US5659753A Cited
US5317740A Cited
US5555419A Cited
US5781778A Cited
US5848274A Cited
US6151701A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2007-09-21 2008-03-22 2008-09-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2011-09-21 2012-03-22 2012-09-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2015-09-21 2016-03-22 2016-09-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag