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

Portable debugging service utilizing a client debugger object and a server debugger object

Assignee: Apple Inc
•
Filing: 1995-11-13
•
Granted: 1998-07-28
•
Expires: 2015-11-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A set of portable services for debugging computer software programs is disclosed. The services provide an object-oriented programming framework which is portable to various hardware and operating system platforms. The framework consists primarily of a debugger server and a debugger client. Multiple debugger clients, which target multiple processes executing on heterogeneous systems, can be used concurrently from a single high-level debugger process. Clients can processes locally and remotely. The client interface is portable to any platform that supports C++. A string class defines storage for variable length character strings.

Inventors

  • 👤 Lawrence L. You
  • 👤 Daniel S. Keller

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 17:26
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/3698

Claims Analysis

Total Claims: 35
Claim 1
Independent Claim 123 words
An apparatus for debugging a target process including a client debugger which communicates via a connection object to one or more server debugger objects, the apparatus comprising: (a) a client debugger object with logic for preparing a debug request for transmission to a connection object for ultimate routing of said request to a target server debugger object, client debugger object operations being performed synchronously with said request; (b) a connection object for routing requests between said client debugger object and said target server debugger object in order for said client debugger object to communicate asynchronously with said target server debugger object; and (c) a target server debugger object, said target server debugger object including logic for performing debug operations on said target process.
Claim 2
Independent Claim 123 words
An apparatus for debugging a target process including a client debugger which communicates via a connection object to one or more server debugger objects, the apparatus comprising: (a) a client debugger object with logic for preparing a debug request for transmission to a connection object for ultimate routing of said request to a target server debugger object, client debugger object operations being performed synchronously with said request; (b) a connection object for routing requests between said client debugger object and said target server debugger object in order for said client debugger object to communicate asynchronously with said target server debugger object; and (c) a target server debugger object, said target server debugger object including logic for performing debug operations on said target process.
Claim 3
Dependent Claim 45 words
The apparatus for debugging a target process according to claim 1, including a reverse connection object for routing notification objects from said target server debugger object to said client debugger object to allow said client debugger object to operate asynchronously with respect to said request.
Claim 4
Dependent Claim 19 words
The apparatus according to claim 2 wherein said client debugger object includes means for constructing said reverse connection object.
Claim 5
Dependent Claim 14 words
The apparatus according to claim 2 wherein said connection object contains a data stream.
Claim 6
Dependent Claim 23 words
The apparatus according to claim 4 wherein said reverse connection object is streamed to said target server debugger object over said data stream.
Claim 7
Dependent Claim 15 words
The apparatus according to claim 2 wherein said reverse connection object contains a data stream.
Claim 8
Dependent Claim 29 words
The apparatus for debugging of a target process according to claim 1, including means in said server debugger object for debugging more than one target process at a time.
Claim 9
Dependent Claim 25 words
The apparatus for debugging of a target process according to claim 1, including means in said server debugger object for debugging a multithreaded target process.
Claim 10
Dependent Claim 18 words
The apparatus according to claim 1 wherein said client debugger object includes means for constructing said connection object.
Claim 11
Independent Claim 136 words
A method for debugging a target process operable on a debugging system including a client debugger object which communicates via a connection object to one or more server debugger objects, said method comprising the steps of: (a) preparing a debug request in said client debugger object for transmission to said connection object for ultimate routing of said request to a target server debugger object, client debugger object operations being performed synchronously with said request; (b) routing requests between said client debugger object and said target server debugger object over said connection object in order for said client debugger object to communicate asynchronously with said target server debugger object; and (c) receiving requests from said client debugger object in said target server debugger object and performing debug operations on said target process in accordance with said requests.
Claim 12
Independent Claim 136 words
A method for debugging a target process operable on a debugging system including a client debugger object which communicates via a connection object to one or more server debugger objects, said method comprising the steps of: (a) preparing a debug request in said client debugger object for transmission to said connection object for ultimate routing of said request to a target server debugger object, client debugger object operations being performed synchronously with said request; (b) routing requests between said client debugger object and said target server debugger object over said connection object in order for said client debugger object to communicate asynchronously with said target server debugger object; and (c) receiving requests from said client debugger object in said target server debugger object and performing debug operations on said target process in accordance with said requests.
Claim 13
Dependent Claim 45 words
A method in accordance with claim 10, including the step of providing a reverse connection object for routing notification objects from said target server debugger object to said client debugger object to allow said client debugger object to operate asynchronously with respect to said request.
Claim 14
Dependent Claim 17 words
The method in accordance with claim 11 wherein said client debugger object constructs said reverse connection object.
Claim 15
Dependent Claim 20 words
The method in accordance with claim 11 further comprising the step of constructing a data stream in said connection object.
Claim 16
Dependent Claim 27 words
The method in accordance with claim 13 further comprising the step of streaming said reverse connection object to said target server debugger object over said data stream.
Claim 17
Dependent Claim 21 words
The method in accordance with claim 11 further comprising the step of constructing a data stream in said reverse connection object.
Claim 18
Dependent Claim 20 words
A method in accordance with claim 10, including the step of debugging more than one target process at a time.
Claim 19
Dependent Claim 16 words
A method in accordance with claim 10, including the step of debugging a multithreaded target process.
Claim 20
Dependent Claim 16 words
The method in accordance with claim 10 wherein said client debugger object constructs said connection object.
Claim 21
Dependent Claim 158 words
A computer program product for debugging a target process and operable on a debugging system including a client debugger object which communicates via a connection object to one or more server debugger objects, said computer program product comprising a computer usable medium having computer readable program code thereon including: (a) program code for preparing a debug request in said client debugger object for transmission to a connection object for ultimate routing of said request to a target server debugger object, client debugger object operations being performed synchronously with said request; (b) program code for routing requests between said client debugger object and said target server debugger object over a connection object in order for said client debugger object to communicate asynchronously with said target server debugger object; and (c) program code for receiving requests from said client debugger object in said target server debugger object and performing debug operations on said target process in accordance with said requests.
Claim 22
Dependent Claim 158 words
A computer program product for debugging a target process and operable on a debugging system including a client debugger object which communicates via a connection object to one or more server debugger objects, said computer program product comprising a computer usable medium having computer readable program code thereon including: (a) program code for preparing a debug request in said client debugger object for transmission to a connection object for ultimate routing of said request to a target server debugger object, client debugger object operations being performed synchronously with said request; (b) program code for routing requests between said client debugger object and said target server debugger object over a connection object in order for said client debugger object to communicate asynchronously with said target server debugger object; and (c) program code for receiving requests from said client debugger object in said target server debugger object and performing debug operations on said target process in accordance with said requests.
Claim 23
Dependent Claim 47 words
A computer program product in accordance with claim 19, including program code for constructing a reverse connection object for routing notification objects from said target server debugger object to said client debugger object to allow said client debugger object to operate asynchronously with respect to said request.
Claim 24
Dependent Claim 22 words
A computer program product in accordance with claim 19, including program code for debugging more than one target process at a time.
Claim 25
Dependent Claim 18 words
A computer program product in accordance with claim 19, including program code for debugging a multithreaded target process.
Claim 26
Independent Claim 104 words
An apparatus for debugging a target process including: (a) a first client debugger object; (b) a second client debugger object; (c) a target server debugger object including means for generating notifications based on changes in said target process; (d) means for registering said first client debugger object with said target server debugger object so that said first client debugger object receives said notifications; and (e) means for registering said second client debugger object with said target server debugger object so that said second client debugger object receives said notifications so that multiple client debugger objects are registered for collaborative debugging of said target process.
Claim 27
Independent Claim 104 words
An apparatus for debugging a target process including: (a) a first client debugger object; (b) a second client debugger object; (c) a target server debugger object including means for generating notifications based on changes in said target process; (d) means for registering said first client debugger object with said target server debugger object so that said first client debugger object receives said notifications; and (e) means for registering said second client debugger object with said target server debugger object so that said second client debugger object receives said notifications so that multiple client debugger objects are registered for collaborative debugging of said target process.
Claim 28
Dependent Claim 47 words
The apparatus according to claim 23 wherein said first client debugger object includes means for constructing a first reverse connection object and wherein said means for registering said first client debugger object includes means for sending said first reverse connection object to said target server debugger object.
Claim 29
Dependent Claim 47 words
The apparatus according to claim 23 wherein said second client debugger object includes means for constructing a second reverse connection object and wherein said means for registering said second client debugger object includes means for sending said second reverse connection object to said target server debugger object.
Claim 30
Independent Claim 106 words
A method for debugging a target process including the steps of: (a) constructing a first client debugger object; (b) constructing a second client debugger object; (c) constructing a target server debugger object including means for generating notifications based on changes in said target process; (d) registering said first client debugger object with said target server debugger object so that said first client debugger object receives said notifications; and (e) registering said second client debugger object with said target server debugger object so that said second client debugger object receives said notifications so that multiple client debugger objects are registered for collaborative debugging of said target process.
Claim 31
Independent Claim 106 words
A method for debugging a target process including the steps of: (a) constructing a first client debugger object; (b) constructing a second client debugger object; (c) constructing a target server debugger object including means for generating notifications based on changes in said target process; (d) registering said first client debugger object with said target server debugger object so that said first client debugger object receives said notifications; and (e) registering said second client debugger object with said target server debugger object so that said second client debugger object receives said notifications so that multiple client debugger objects are registered for collaborative debugging of said target process.
Claim 32
Dependent Claim 38 words
The method in accordance with claim 26 further including the steps of constructing a first reverse connection object and sending said first reverse connection object to said target server debugger object for registering said first client debugger object.
Claim 33
Dependent Claim 38 words
The method in accordance with claim 26 further including the steps of constructing a second reverse connection object and sending said second reverse connection object to said target server debugger object for registering said second client debugger object.
Claim 34
Independent Claim 133 words
An apparatus for establishing a two-way connection between a platform-independent client debugger object and a platform-dependent server debugger object, comprising: (a) means in said client debugger object for creating a listener connection object for receiving notifications from a target server debugger object; (b) a connection object for routing requests between said client debugger object and said target server debugger object; (c) said target server debugger object including means for creating a receive connection object for receiving requests from said connection object; (d) a reverse connection object for routing notifications from said target server debugger object to said listener connection object; and (e) means in said target server debugger object responsive to a request from said client debugger object to cause said target server debugger object to route notifications to said reverse connection object.
Claim 35
Independent Claim 133 words
An apparatus for establishing a two-way connection between a platform-independent client debugger object and a platform-dependent server debugger object, comprising: (a) means in said client debugger object for creating a listener connection object for receiving notifications from a target server debugger object; (b) a connection object for routing requests between said client debugger object and said target server debugger object; (c) said target server debugger object including means for creating a receive connection object for receiving requests from said connection object; (d) a reverse connection object for routing notifications from said target server debugger object to said listener connection object; and (e) means in said target server debugger object responsive to a request from said client debugger object to cause said target server debugger object to route notifications to said reverse connection object.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-07-27 2002-01-26 2002-07-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-07-27 2006-01-26 2006-07-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-07-27 2010-01-26 2010-07-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag