Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability
Reexamination Certificate
1998-01-07
2001-07-17
Sheikh, Ayaz (Department: 2155)
Error detection/correction and fault detection/recovery
Data processing system error or fault handling
Reliability and availability
C714S025000, C714S038110, C714S046000, C709S217000, C709S218000
Reexamination Certificate
active
06263456
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates to distributed systems, and more particularly to a system for remote debugging of client/server applications in the distributed computing environment.
BACKGROUND OF THE INVENTION
Many new applications are being written in a client/server configuration where execution of the application is split between a client and a server.
In the initial stages of development the developer may test and debug the server part of the application by running it locally. To complete the testing, the server part of the application must be installed and run on the server.
Two problems are typically encountered during testing of the application code on the remote server. First, the developer is required to go to the server machine and use the debugger on the server in order to debug the application code on the server. In a distributed or networked computer environment this is both inconvenient and awkward because the developer is required to interact with two or more machines. In most cases, the machines are not physically located in the same room. Secondly, the developer is first required to manually find the application code in the server executable files running on the server before the debugging operation can be commenced. Typically this involves starting the server machine under the control of the debugger or using the “process attach)” feature of the debugger. Next the developer needs to step through “disassembled” code that is part of the server executables until the application code is located. It will be appreciated that this procedure is time consuming and error prone. With such an arrangement, it is not possible to debug the application code on the server without first stepping through additional server code which interfaces the application to the client machine.
The present invention addresses these shortcomings by providing a system which allows the application code on the server to be debugged remotely.
BRIEF SUMMARY OF THE INVENTION
The present invention provides a system for remotely debugging application code on client/server systems. It is a feature of the present invention that the system detects execution of a particular program and in response begins to debug the application code associated with the program on the server.
The system according to the present invention comprises a debugger and a kicker program (debug.dll) on the server. When the debugger is started on the server, the debugger looks for the kicker program. If the debugger sees the kicker program, it switches to a mode of operation for debugging the application code only. The debugger also starts the user interface for the debugger resident on the client machine that originated the call to run the application code.
The “kicker program” comprises a debug.dll which is installed on the server. The kicker program is called by wrapper code on the server just before the application code is called and immediately after the application code returns. The kicker program is responsible for starting the debugger on the server machine and communicating to the debugger information about the application code on the server to a debugger user interface running on a client machine.
In a first aspect, the present invention provides a debugging system for a networked computer system having a server machine, one or more client machines having means for initiating a call to the server machine and a network for transferring information between the server machine and the client machines, said debugging system comprising: (a) processing means for processing calls from said client machines to an application program on said server machine, said processing means including means for invoking said application program and means for returning from said application program, and said means for invoking including means for generating a first control output prior to said application program being invoked, and said means for returning including means for generating a second control output after said application program returns; (b) debugging means for debugging the application program on said server machine; (c) controller means for controlling said debugging means, said controller means including means responsive to said first control output from said processing means for initiating operation of said debugging means and means responsive to said second control output from said processing means for terminating operation of said debugging means; and (d) said means for initiating operation of said debugging means including means for passing information to said debugging means for identifying the application program to be debugged.
In a second aspect, the present invention provides a method for remotely debugging an application program in a networked computer system having a server machine, one or more client machines having means for initiating a call to the application program on the server machine and a network for transferring information between the server machine and the client machines, said method comprising the steps of: (a) initiating a call from the client machine to the application program on the server machine; (b) processing said call to the application program on the server machine, said processing including invoking a debugging session for the application program on the server machine, said debugging session being invoked prior to execution of the application program on the server machine; (c) terminating the debugging session upon execution of the application program.
In a third aspect, the present invention provides a computer program product for use in a networked computer system having a server machine, one or more client machines having means for initiating a call to the server machine and a network for transferring information between the server machine and the client machines, said computer program product comprising: a recording medium; means recorded on said medium for instructing said computer system to perform the steps of, (a) initiating a call from the client machine to the application program on the server machine; (b) processing said call to the application program on the server machine, and. said processing including invoking a debugging session for the application program on the server machine, said debugging session being invoked prior to execution of the application program on the server machine; (c) terminating the debugging session upon execution of the application program.
REFERENCES:
patent: 5371746 (1994-12-01), Yamashita et al.
patent: 5630049 (1997-05-01), Cardoza et al.
patent: 5787245 (1998-07-01), You et al.
patent: 5794046 (1998-08-01), Meier et al.
patent: 5809248 (1998-09-01), Vidovic
patent: 5815653 (1998-09-01), You et al.
patent: 5819093 (1998-10-01), Davidson et al.
patent: 5892941 (1999-04-01), Khan et al.
Boxall Alan Stewart
Fok Madeline
Labadie Eric
Nesbitt Murray James
Ng Gin Yee
Backer Firmin
International Business Machines - Corporation
Mims Jr. David A.
Sheikh Ayaz
LandOfFree
System for remote debugging of client/server application does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with System for remote debugging of client/server application, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System for remote debugging of client/server application will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2560890