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

System and method for a distributed debugger for debugging distributed application programs

Assignee: Sun Microsystems Inc
•
Filing: 1996-03-01
•
Granted: —
•
Expires: 2016-03-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and method for providing a distributed debugger system for a distributed target computer application are disclosed wherein the programmer/developer of the application can be at one host machine and wherein the application being developed makes use of objects and object implementations which may be located on a different host machine which is unknown to the programmer/developer. The system and method provides solutions to problems which are encountered in trying to debug a new application which is associated with the use of objects in a widely distributed, object oriented, client-server system. In a distributed object environment, requests and replies are made through an Object Request Broker (ORB) that is aware of the locations and status of objects. One architecture which is suitable for implementing such an ORB is provided by the Common Object Request Broker Architecture (CORBA) specification. The distributed debugger system disclosed herein is designed to function in a CORBA compliant distributed system.

Inventors

  • 👤 Andrew E. Davidson
  • 👤 Jon A. Masamitsu

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-08 20:54
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/3698; G06F11/362

Claims Analysis

Total Claims: 31
Claim 1
Independent Claim 142 words
A distributed debugger system for debugging a distributed target application system which resides on a local host computer and one or more remote host computers, the distributed debugger system comprising: a debugger-GUI and one or more debugger engines (hereinafter termed "dbx engines"), said debugger-GUI providing an interface mechanism for communicating with said dbx engines, and for communicating with a user of said debugger system, wherein said dbx engines may reside on said local and remote host computers; a communications mechanism for use by said dbx engines and said debugger-GUI in sending messages to and receiving messages from each other; and a remote dbx engine which is one of said one or more dbx engines and which is residing on a host computer remote from said local host computer, said remote dbx engine connected to said debugger-GUI by means of said communications mechanism.
Claim 2
Dependent Claim 137 words
A distributed debugger system for debugging a distributed target application system which resides on a local host computer and one or more remote host computers, the distributed debugger system comprising: a debugger-GUI and one or more debugger engines (hereinafter termed "dbx engines"), said debugger-GUI providing an interface mechanism for communicating with said dbx engines, wherein said dbx engines may reside on said local and remote host computers, and for communicating with a user of said debugger system; a communications mechanism for use by said dbx engines and said debugger-GUI in sending messages to and receiving messages from each other; and a dbxWrapperFactory mechanism for use by said debugger-GUI to create a new dbx engine in a remote host computer for use in debugging a part of said target application system which resides on said remote host computer.
Claim 3
Dependent Claim 30 words
The distributed debugger system for debugging a distributed target application system of claim 2 wherein said new dbx engine is connected to said debugger-GUI by means of said communications mechanism.
Claim 4
Dependent Claim 103 words
The distributed debugger system for debugging a distributed target application system of claim 2 wherein said new dbx engine in said remote host computer co-operates with said debugger-GUI and said one or more dbx engines residing on said local host computer to debug said target application system while ignoring any intermediate Interface Definition Language ("IDL") generated code mechanisms which connect local and remote sections of said target application system but which are not part of said target application system itself, thereby permitting said user to debug said distributed target application system with an illusion that the user is debugging a single process application.
Claim 5
Dependent Claim 63 words
The distributed debugger system for debugging a distributed target application system of claim 4 further comprising a dstep mechanism for instructing said dbx engines to ignore (that is, "step over") any of said intermediate Interface Definition Language ("IDL") generated code mechanisms which connect local and remote sections of said target application system but which are not part of said target application system itself.
Claim 6
Dependent Claim 46 words
The distributed debugger system for debugging a distributed target application system of claim 2 further comprising a first communications mechanism to permit one of said dbx engines to communicate with another of said dbx engines regardless of whether these dbx engines are on different host computers.
Claim 7
Dependent Claim 42 words
The distributed debugger system for debugging a distributed target application system of claim 2 further comprising a second communications mechanism to permit said debugger-GUI to focus on one of said dbx engines regardless of which host computer said dbx engine is on.
Claim 8
Dependent Claim 46 words
The distributed debugger system for debugging a distributed target application system of claim 2 further comprising a third communications mechanism to permit said user to obtain from said debugger-GUI a list of all active dbx engines regardless of which host computer said dbx engines are on.
Claim 9
Dependent Claim 79 words
A dbx engine for use in a distributed debugger system for debugging a distributed target application system, said distributed target application system residing on a local host computer and one or more remote host computers, the dbx engine comprising a dstep mechanism for ignoring (that is, "stepping over") any intermediate Interface Definition Language ("IDL") generated code mechanisms which connect local and remote sections of said target application system but which are not part of said target application system itself.
Claim 10
Dependent Claim 53 words
The dbx engine for use in a distributed debugger system for debugging a distributed target application system of claim 9 further comprising a remote surrogate code test mechanism for determining which intermediate Interface Definition Language ("IDL") generated code mechanisms which connect local and remote sections of said target application system should be ignored.
Claim 11
Dependent Claim 58 words
The dbx engine for use in a distributed debugger system for debugging a distributed target application system of claim 9 further comprising a remote breakpoint setting mechanism thereby permitting a user on a local host computer to set a breakpoint in a function of the distributed target application system which is actually implemented in a remote host computer.
Claim 12
Dependent Claim 41 words
The dbx engine for use in a distributed debugger system for debugging a distributed target application system of claim 9 further comprising a GetImplementation mechanism for locating a host ID and process ID (PID) of a server for any designated object.
Claim 13
Dependent Claim 57 words
The dbx engine for use in a distributed debugger system for debugging a distributed target application system of claim 9 further comprising an IdentifyRemoteFunction mechanism for identifying whether a remote dbx engine is running and if not for creating and attaching a dbx engine to a remote target function by using the facilities of a dbxWrapperFactory object.
Claim 14
Dependent Claim 37 words
The dbx engine for use in a distributed debugger system for debugging a distributed target application system of claim 9 further comprising a multiple dbx engine synchronizer mechanism for permitting dbx engines to communicate with each other.
Claim 15
Dependent Claim 216 words
A dbx engine for use in a distributed debugger system for debugging a distributed target application system, said distributed target application system residing on a local host computer and one or more remote host computers, the dbx engine comprising: a dstep mechanism for ignoring (that is, "stepping over") any intermediate Interface Definition Language ("IDL") generated code mechanisms which connect local and remote sections of said target application system but which are not part of said target application system itself; a remote surrogate code test mechanism for determining which intermediate Interface Definition Language ("IDL") generated code mechanisms which connect local and remote sections of said target application system should be ignored: a remote breakpoint setting mechanism thereby permitting a user on a local host computer to set a breakpoint in a function of the distributed target application system which is actually implemented in a remote host computer; a GetImplementation mechanism for locating a host ID and process ID (PID) of a server for any designated object; an IdentifyRemoteFuncfion mechanism for identifying whether a remote dbx engine is running and if not for creating and attaching a dbx engine to a remote target function by using the facilities of a dbxWrapperFactory object; and a multiple dbx engine synchronizer mechanism for permitting dbx engines to communicate with each other.
Claim 16
Dependent Claim 116 words
A computer implemented method for modifying a standard dbx engine for use in a distributed debugger system for debugging a distributed target application system, said distributed target application system residing on a local host computer and one or more remote host computers, the computer implemented method comprising the steps of: providing said standard dbx engine which has capabilities equivalent to those of a SPARCworks dbx engine; and under computer control providing to said standard dbx engine a dstep mechanism for ignoring (that is, "stepping over") any intermediate Interface Definition Language ("IDL") generated code mechanisms which connect local and remote sections of said target application system but which are not part of said target application system itself.
Claim 17
Dependent Claim 72 words
The computer implemented method for modifying a standard dbx engine for use in a distributed debugger system for debugging a distributed target application system of claim 16 further comprising the additional step of adding to said dbx engine under computer control a remote surrogate code test mechanism for determining which intermediate Interface Definition Language ("IDL") generated code mechanisms which connect local and remote sections of said target application system should be ignored.
Claim 18
Dependent Claim 77 words
The computer implemented method for modifying a standard dbx engine for use in a distributed debugger system for debugging a distributed target application system of claim 16 further comprising the additional step of adding to said dbx engine under computer control a remote breakpoint setting mechanism thereby permitting a user on a local host computer to set a breakpoint in a function of the distributed target application system which is actually implemented in a remote host computer.
Claim 19
Dependent Claim 60 words
The computer implemented method for modifying a standard dbx engine for use in a distributed debugger system for debugging a distributed target application system of claim 16 further comprising the additional step of adding to said dbx engine under computer control a GetImplementation mechanism for locating a host ID and process ID (PID) of a server for any designated object.
Claim 20
Dependent Claim 76 words
The computer implemented method for modifying a standard dbx engine for use in a distributed debugger system for debugging a distributed target application system of claim 16 further comprising the additional step of adding to said dbx engine under computer control an IdentifyRemoteFunction mechanism for identifying whether a remote dbx engine is running and if not for creating and attaching a dbx engine to a remote target function by using the facilities of a dbxWrapperFactory object.
Claim 21
Dependent Claim 56 words
The computer implemented method for modifying a standard dbx engine for use in a distributed debugger system for debugging a distributed target application system of claim 16 further comprising the additional step of adding to said dbx engine under computer control a multiple dbx engine synchronizer mechanism for permitting dbx engines to communicate with each other.
Claim 22
Dependent Claim 283 words
A computer implemented method for modifying a standard dbx engine for use in a distributed debugger system for debugging a distributed target application system, said distributed target application system residing on a local host computer and one or more remote host computers, the computer implemented method comprising the steps of: providing said standard dbx engine which has capabilities equivalent to those of a SPARCworks dbx engine; and under computer control providing to said standard dbx engine a dstep mechanism for ignoring (that is, "stepping over") any intermediate Interface Definition Language ("IDL") generated code mechanisms which connect local and remote sections of said target application system but which are not part of said target application system itself; providing to said standard dbx engine a remote surrogate code test mechanism for determining which intermediate Interface Definition Language ("IDL") generated code mechanisms which connect local and remote sections of said target application system should be ignored; providing to said standard dbx engine a remote breakpoint setting mechanism thereby permitting a user on a local host computer to set a breakpoint in a function of the distributed target application system which is actually implemented in a remote host computer; providing to said standard dbx engine a GetImplementation mechanism for locating a host ID and process ID (PID) of a server for any designated object; providing to said standard dbx engine an IdentifyRemoteFunction mechanism for identifying whether a remote dbx engine is running and if not for creating and attaching a dbx engine to a remote target function by using the facilities of a dbxWrapperFactory object; and providing to said standard dbx engine a multiple dbx engine synchronizer mechanism for permitting dbx engines to communicate with each other.
Claim 23
Dependent Claim 201 words
A computer implemented method for producing a distributed debugger system for debugging a distributed target application system which target application system resides on a local host computer and one or more remote host computers, the computer implemented method comprising the steps of: providing in a local host computer a debugger-GUI and one or more debugger engines (hereinafter termed "dbx engines"), said debugger-GUI providing an interface mechanism for communicating with said dbx engines, and for communicating with a user of said debugger system; providing a communications mechanism for use by said dbx engines and said debugger-GUI in sending messages to and receiving messages from each other; and providing a remote dbx engine which is one of said one or more dbx engines and which is residing on a host computer remote from said local host computer, said remote dbx engine connected to said debugger-GUI by means of said communications mechanism, said remote dbx engine being able, under direction from said debugger-GUI, to attach itself to a section of said distributed target application system which is residing on said remote host computer for purposes of debugging said section of said distributed target application system which is residing on said remote host computer .
Claim 24
Dependent Claim 149 words
A computer implemented method for producing a distributed debugger system for debugging a distributed target application system which resides on a local host computer and one or more remote host computers, the computer implemented method comprising the steps of: providing a debugger-GUI and one or more debugger engines (hereinafter termed "dbx engines"), said debugger-GUI providing an interface mechanism for communicating with said dbx engines, wherein said dbx engines may reside on said local and remote host computers, and for communicating with a user of said debugger system; providing a communications mechanism for use by said dbx engines and said debugger-GUI in sending messages to and receiving messages from each other; and providing a dbxWrapperFactory mechanism for use by said debugger-GUI to create a new dbx engine in a remote host computer for use in debugging a part of said target application system which resides on said remote host computer.
Claim 25
Dependent Claim 36 words
The computer implemented method for producing a distributed debugger system for debugging a distributed target application system of claim 24 wherein said new dbx engine is connected to said debugger-GUI by means of said communications mechanism.
Claim 26
Dependent Claim 109 words
The computer implemented method for producing a distributed debugger system for debugging a distributed target application system of claim 24 wherein said new dbx engine in said remote host computer co-operates with said debugger-GUI and said one or more dbx engines residing on said local host computer to debug said target application system while ignoring any intermediate Interface Definition Language ("IDL") generated code mechanisms which connect local and remote sections of said target application system but which are not part of said target application system itself, thereby permitting said user to debug said distributed target application system with an illusion that the user is debugging a single process application.
Claim 27
Dependent Claim 73 words
The computer implemented method for producing a distributed debugger system for debugging a distributed target application system of claim 24 further comprising a step of providing a dstep mechanism for instructing said dbx engines to ignore (that is, "step over") any of said intermediate Interface Definition Language ("IDL") generated code mechanisms which connect local and remote sections of said target application system but which are not part of said target application system itself.
Claim 28
Dependent Claim 56 words
The computer implemented method for producing a distributed debugger system for debugging a distributed target application system of claim 24 further comprising a step of providing a first communications mechanism to permit one of said dbx engines to communicate with another of said dbx engines regardless of whether these dbx engines are on different host computers.
Claim 29
Dependent Claim 52 words
The computer implemented method for producing a distributed debugger system for debugging a distributed target application system of claim 24 further comprising a step of providing a second communications mechanism to permit said debugger-GUI to focus on one of said dbx engines regardless of which host computer said dbx engine is on.
Claim 30
Dependent Claim 56 words
The computer implemented method for producing a distributed debugger system for debugging a distributed target application system of claim 24 further comprising a step of providing a third communications mechanism to permit said user to obtain from said debugger-GUI a list of all active dbx engines regardless of which host computer said dbx engines are on.
Claim 31
Dependent Claim 180 words
A computer-implemented method in a distributed computing environment of creating processes and communicating with said processes in said distributed computing environment, comprising the following steps: a client process determining if services which are requested are remote; b. if said client process determines said services are remote, then determining a remote location at which said services are located; c. said client process sending a message to a server process having said services at said remote location to instruct said server to establish communication with said client process; d. said server process spawning a interface process for communicating with said client process; e. said server process suspending operation until said interface process has attached to said server process; f. said interface process attempting to attach to said server process; g. if said interface process cannot attach to said server process, then said interface process alerting said client process, otherwise, said client process attaching to said server process and alerting said client process that said attachment has been successful; and h. said client process communicating with said server process via said interface process.

References Cited (Backward Citations)

US4589068A Cited
US5371746A Cited

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag