Method of walking-up a call stack for a client/server program that uses remote procedure call
First Claim
1. A method for debugging a distributed computer program comprising a client program executing on a first portion of a distributed data processing system and a server program executing on a second portion of the distributed data processing system, said method comprising the steps of:
- (a) determining a first call stack on the first portion of the distributed data processing system of the client program by use of a debugger;
(b) determining a second call stack on the second portion of the distributed data processing system of the server program by use of the debugger; and
(c) appending the first call stack and second call stack together on the first portion of the distributed data processing system to form a single distributed call stack.
0 Assignments
0 Petitions
Accused Products
Abstract
When displaying the caller stack of a distributed client/server program that uses Remote Procedure Calls (RPC), the user is provided the capability of viewing the RPC calls in the same manner as normal procedure calls. When a breakpoint is encountered in an RPC server program while using a debugger for distributed programs, the call stacks for the client and server program are appended together into a single distributed call stack. In the case of nested RPC calls (e.g. program A executes an RPC call to program B which executes an RPC call to C and so on) all of the call stacks are appended together in the order they were created. The distributed call stack may span many programs, threads of execution, and computing machines. The distributed call stack may be used to select a routine from the call stack when setting a context for a tool that displays program state information. For example, when the user selects a particular routine from the distributed call stack, the source listing, variables that are currently in scope, and thread executing the routine may be shown in various display windows.
-
Citations
12 Claims
-
1. A method for debugging a distributed computer program comprising a client program executing on a first portion of a distributed data processing system and a server program executing on a second portion of the distributed data processing system, said method comprising the steps of:
-
(a) determining a first call stack on the first portion of the distributed data processing system of the client program by use of a debugger; (b) determining a second call stack on the second portion of the distributed data processing system of the server program by use of the debugger; and (c) appending the first call stack and second call stack together on the first portion of the distributed data processing system to form a single distributed call stack. - View Dependent Claims (2, 3, 4)
-
-
5. A distributed data processing system for debugging a distributed computer program comprising a client program executing on a first portion of a distributed data processing system and a server program executing on a second portion of the distributed data processing system, said distributed data processing system comprising:
-
(a) means for determining a first call stack on the first portion of the distributed data processing system of the client program by use of a debugger; (b) means for determining a second call stack on the second portion of the distributed data processing system of the server program by use of the debugger; and (c) means for appending the first call stack and second call stack together on the first portion of the distributed data processing system to form a single distributed call stack. - View Dependent Claims (6, 7, 8)
-
-
9. An article of manufacture for use in a distributed data processing system for debugging a distributed computer program comprising a client program executing on a first portion of a distributed data processing system and a server program executing on a second portion of the distributed data processing system, said article of manufacture comprising a computer-readable storage medium having a computer program embodied in said medium which causes the distributed data processing system to:
-
(a) determine a first call stack on the first portion of the distributed data processing system of the client program by use of a debugger; (b) determine a second call stack on the second portion of the distributed data processing system of the server program by use of the debugger; and (c) append the first call stack and second call stack together on the first portion of the distributed data processing system to form a single distributed call stack. - View Dependent Claims (10, 11, 12)
-
Specification