Portable debugging services utilizing a client debugger object and a server debugger object with flexible addressing support
First Claim
1. 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.
3 Assignments
0 Petitions
Accused Products
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.
214 Citations
12 Claims
-
1. 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. - View Dependent Claims (2, 3, 4)
-
-
5. 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. - View Dependent Claims (6, 7, 8)
-
-
9. 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. - View Dependent Claims (10, 11, 12)
-
Specification