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

Portable debugging services utilizing a client debugger object and a server debugger object with flexible addressing support

Assignee: Apple Inc
•
Filing: 1995-11-13
•
Granted: 2000-12-05
•
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. An addressing abstraction is utilized to facilitate the use of target memory addresses in a portable fashion. The use of static compiler types such as void* in the C and C++ languages do not properly express this as a portable abstraction since they are limited to the static size as implemented by the compiler used to compile the debugger code. Two major classes are used to describe the abstraction itself; other subclasses are created to describe processor-specific addressing data.

Inventors

  • 👤 Lawrence L. You

Bibliographic Details

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

Claims Analysis

Total Claims: 15
Claim 1
Independent Claim 170 words
An apparatus using object-oriented methods for transferring address references from a platform independent client debugger object operating on a first hardware platform to at least one platform dependent server debugger object operating on a second hardware platform, said apparatus allowing a single client debugger object to operate with server debugger objects running on different platforms and comprising: (a) a plurality of polymorphic address objects, each of said polymorphic address objects containing address data in a different platform dependent address format, and platform dependent logic for manipulating said address data; (b) a monomorphic address object including a reference to one of said polymorphic address objects and platform independent logic for executing platform dependent logic in said referenced one of said polymorphic address objects; (c) logic in said client debugger object for executing said platform independent logic in said monomorphic address object; and (d) platform dependent logic in said server debugger object for generating platform dependent address data and storing said platform dependent address data in one of said polymorphic address objects.
Claim 2
Independent Claim 170 words
An apparatus using object-oriented methods for transferring address references from a platform independent client debugger object operating on a first hardware platform to at least one platform dependent server debugger object operating on a second hardware platform, said apparatus allowing a single client debugger object to operate with server debugger objects running on different platforms and comprising: (a) a plurality of polymorphic address objects, each of said polymorphic address objects containing address data in a different platform dependent address format, and platform dependent logic for manipulating said address data; (b) a monomorphic address object including a reference to one of said polymorphic address objects and platform independent logic for executing platform dependent logic in said referenced one of said polymorphic address objects; (c) logic in said client debugger object for executing said platform independent logic in said monomorphic address object; and (d) platform dependent logic in said server debugger object for generating platform dependent address data and storing said platform dependent address data in one of said polymorphic address objects.
Claim 3
Dependent Claim 25 words
The apparatus according to claim 1 wherein said monomorphic address object further includes address attributes, each of said address attributes indicating information about a platform.
Claim 4
Dependent Claim 15 words
The apparatus according to claim 1 wherein said monomorphic address object has a fixed size.
Claim 5
Dependent Claim 16 words
The apparatus according to claim 1 wherein each of said polymorphic addresses may have different sizes.
Claim 6
Independent Claim 175 words
A method using object-oriented calls for transferring address references from a platform independent client debugger object operating on a first hardware platform to at least one platform dependent server debugger object operating on a second hardware platform, said method allowing a single client debugger object to operate with server debugger objects running on different platforms and comprising the steps of: (a) constructing a plurality of polymorphic address objects, each of said polymorphic address objects containing address data in a different platform dependent address format, and platform dependent logic for manipulating said address data; (b) constructing a monomorphic address object including a reference to one of said polymorphic address objects and platform independent logic for executing platform dependent logic in said referenced one of said polymorphic address objects; (c) executing said platform independent logic in said monomorphic address object with logic in said client debugger object; and (d) generating platform dependent address data and storing said platform dependent address data in one of said polymorphic address objects with platform dependent logic in said server debugger object.
Claim 7
Independent Claim 175 words
A method using object-oriented calls for transferring address references from a platform independent client debugger object operating on a first hardware platform to at least one platform dependent server debugger object operating on a second hardware platform, said method allowing a single client debugger object to operate with server debugger objects running on different platforms and comprising the steps of: (a) constructing a plurality of polymorphic address objects, each of said polymorphic address objects containing address data in a different platform dependent address format, and platform dependent logic for manipulating said address data; (b) constructing a monomorphic address object including a reference to one of said polymorphic address objects and platform independent logic for executing platform dependent logic in said referenced one of said polymorphic address objects; (c) executing said platform independent logic in said monomorphic address object with logic in said client debugger object; and (d) generating platform dependent address data and storing said platform dependent address data in one of said polymorphic address objects with platform dependent logic in said server debugger object.
Claim 8
Dependent Claim 32 words
The method according to claim 5 wherein step (b) comprises the step of: (b1) constructing said monomorphic address object with address attributes, each of said address attributes indicating information about a platform.
Claim 9
Dependent Claim 23 words
The method according to claim 5 wherein step (b) comprises the step of: (b2) constructing said monomorphic address object with a fixed size.
Claim 10
Dependent Claim 23 words
The method according to claim 5 wherein step (a) comprises the step of: (a1) constructing each of said polymorphic addresses with different sizes.
Claim 11
Dependent Claim 199 words
A computer program product utilizing object-oriented methods for transferring address references from a platform independent client debugger object operating on a first hardware platform to at least one platform dependent server debugger object operating on a second hardware platform, said computer program product allowing a single client debugger object to operate with server debugger objects running on different platforms and comprising a computer usable medium having computer readable program code thereon including: (a) program code for constructing a plurality of polymorphic address objects, each of said polymorphic address objects containing address data in a different platform dependent address format, and platform dependent logic for manipulating said address data; (b) program code for constructing a monomorphic address object including a reference to one of said polymorphic address objects and platform independent logic for executing platform dependent logic in said referenced one of said polymorphic address objects; (c) program code for executing said platform independent logic in said monomorphic address object with logic in said client debugger object; and (d) program code for generating platform dependent address data and storing said platform dependent address data in one of said polymorphic address objects with platform dependent logic in said server debugger object.
Claim 12
Dependent Claim 199 words
A computer program product utilizing object-oriented methods for transferring address references from a platform independent client debugger object operating on a first hardware platform to at least one platform dependent server debugger object operating on a second hardware platform, said computer program product allowing a single client debugger object to operate with server debugger objects running on different platforms and comprising a computer usable medium having computer readable program code thereon including: (a) program code for constructing a plurality of polymorphic address objects, each of said polymorphic address objects containing address data in a different platform dependent address format, and platform dependent logic for manipulating said address data; (b) program code for constructing a monomorphic address object including a reference to one of said polymorphic address objects and platform independent logic for executing platform dependent logic in said referenced one of said polymorphic address objects; (c) program code for executing said platform independent logic in said monomorphic address object with logic in said client debugger object; and (d) program code for generating platform dependent address data and storing said platform dependent address data in one of said polymorphic address objects with platform dependent logic in said server debugger object.
Claim 13
Dependent Claim 37 words
The computer program product according to claim 9 wherein said monomorphic address object constructing code comprises program code for constructing said monomorphic address object with address attributes, each of said address attributes indicating information about a platform.
Claim 14
Dependent Claim 28 words
The computer program product according to claim 9 wherein said monomorphic address object constructing code comprises program code for constructing said monomorphic address object with a fixed size.
Claim 15
Dependent Claim 28 words
The computer program product according to claim 9 wherein said polymorphic address object constructing code comprises program code for constructing each of said polymorphic addresses with different sizes.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-12-05 2004-06-05 2004-12-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-12-05 2008-06-05 2008-12-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-12-05 2012-06-05 2012-12-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag