Collaborative software debugging in a distributed system with client-specific display of local variables
First Claim
1. A method of collaborative software debugging in a distributed system, the distributed system comprising a debug server, a plurality of debug clients, and a data communications network, the debug server coupled for data communications to the plurality of debug clients through the data communications network, the debug server comprising a debug administrator, a message router, a back-end debugger, and a debuggee, the method comprising:
- presenting, by each debug client to a user of the debug client, a client-specific graphical user interface (‘
GUI’
), the client-specific GUI comprising a client-specific display of a debug session of the debuggee, including a client-specific local variables pane;
detecting, by each debug client, user input through the client-specific GUI, including detecting, by at least one particular debug client, user input setting the client-specific local variables pane to display local variables of a stack frame associated with an active routine owned by the particular debug client;
generating, by each debug client in dependence upon the detected user input, one or more application-level messages;
sending, by each debug client, the application-level messages to the debug server;
receiving, by each debug client responsive to the application-level messages, client-specific debug results including receiving, by the particular debug client, one or more application-level messages comprising a REQUEST REPLY message and a payload that includes a value of each local variable of the stack frame associated with the active routine owned by the particular debug client, wherein the debug server generates the client-specific debug results by providing distributed control to each debug client; and
displaying, by each debug client in the client-specific GUI, the client-specific debug results, including;
displaying, in the particular debug client'"'"'s client-specific local variables pane, the local variables of the stack frame associated with the active routine owned by the particular debug client; and
displaying, in another debug client'"'"'s client-specific local variables pane, local variables of another stack frame.
1 Assignment
0 Petitions
Accused Products
Abstract
In a distributed system that includes a debug server and debug clients coupled for data communications through a network, collaborative software debugging includes presenting a client-specific GUI that includes a client-specific local variables pane; detecting user input including detecting, by at least one particular debug client, user input setting the client-specific local variables pane to display local variables of a stack frame associated with an active routine owned by the particular debug client; generating and sending to the debug server application-level messages; receiving client-specific debug results; and displaying the client-specific debug results, including: displaying, in the particular debug client'"'"'s client-specific local variables pane, the local variables of the stack frame associated with the active routine owned by the particular debug client; and displaying, in another debug client'"'"'s client-specific local variables pane, local variables of another stack frame.
122 Citations
16 Claims
-
1. A method of collaborative software debugging in a distributed system, the distributed system comprising a debug server, a plurality of debug clients, and a data communications network, the debug server coupled for data communications to the plurality of debug clients through the data communications network, the debug server comprising a debug administrator, a message router, a back-end debugger, and a debuggee, the method comprising:
-
presenting, by each debug client to a user of the debug client, a client-specific graphical user interface (‘
GUI’
), the client-specific GUI comprising a client-specific display of a debug session of the debuggee, including a client-specific local variables pane;detecting, by each debug client, user input through the client-specific GUI, including detecting, by at least one particular debug client, user input setting the client-specific local variables pane to display local variables of a stack frame associated with an active routine owned by the particular debug client; generating, by each debug client in dependence upon the detected user input, one or more application-level messages; sending, by each debug client, the application-level messages to the debug server; receiving, by each debug client responsive to the application-level messages, client-specific debug results including receiving, by the particular debug client, one or more application-level messages comprising a REQUEST REPLY message and a payload that includes a value of each local variable of the stack frame associated with the active routine owned by the particular debug client, wherein the debug server generates the client-specific debug results by providing distributed control to each debug client; and displaying, by each debug client in the client-specific GUI, the client-specific debug results, including; displaying, in the particular debug client'"'"'s client-specific local variables pane, the local variables of the stack frame associated with the active routine owned by the particular debug client; and displaying, in another debug client'"'"'s client-specific local variables pane, local variables of another stack frame. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus for collaborative software debugging in a distributed system, the distributed system comprising a debug server, a plurality of debug clients, and a data communications network, the debug server coupled for data communications to the plurality of debug clients through the data communications network, the debug server comprising a debug administrator, a message router, a back-end debugger, and a debuggee, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:
-
presenting, by each debug client to a user of the debug client, a client-specific graphical user interface (‘
GUI’
), the client-specific GUI comprising a client-specific display of a debug session of the debuggee, including a client-specific local variables pane;detecting, by each debug client, user input through the client-specific GUI, including detecting, by at least one particular debug client, user input setting the client-specific local variables pane to display local variables of a stack frame associated with an active routine owned by the particular debug client; generating, by each debug client in dependence upon the detected user input, one or more application-level messages; sending, by each debug client, the application-level messages to the debug server; receiving, by each debug client responsive to the application-level messages, client-specific debug results including receiving, by the particular debug client, one or more application-level messages comprising a REQUEST REPLY message and a payload that includes a value of each local variable of the stack frame associated with the active routine owned by the particular debug client, wherein the debug server generates the client-specific debug results by providing distributed control to each debug client; and displaying, by each debug client in the client-specific GUI, the client-specific debug results, including; displaying, in the particular debug client'"'"'s client-specific local variables pane, the local variables of the stack frame associated with the active routine owned by the particular debug client; and displaying, in another debug client'"'"'s client-specific local variables pane, local variables of another stack frame. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer program product for collaborative software debugging in a distributed system, the distributed system comprising a debug server, a plurality of debug clients, and a data communications network, the debug server coupled for data communications to the plurality of debug clients through the data communications network, the debug server comprising a debug administrator, a message router, a back-end debugger, and a debuggee, the computer program product disposed upon a computer readable medium, wherein the computer readable medium is not a signal medium, the computer program product comprising computer program instructions that, when executed by a computer processor of a computer, cause the computer to carry out the steps of:
-
presenting, by each debug client to a user of the debug client, a client-specific graphical user interface (‘
GUI’
), the client-specific GUI comprising a client-specific display of a debug session of the debuggee, including a client-specific local variables pane;detecting, by each debug client, user input through the client-specific GUI, including detecting, by at least one particular debug client, user input setting the client-specific local variables pane to display local variables of a stack frame associated with an active routine owned by the particular debug client; generating, by each debug client in dependence upon the detected user input, one or more application-level messages; sending, by each debug client, the application-level messages to the debug server; receiving, by each debug client responsive to the application-level messages, client-specific debug results including receiving, by the particular debug client, one or more application-level messages comprising a REQUEST REPLY message and a payload that includes a value of each local variable of the stack frame associated with the active routine owned by the particular debug client, wherein the debug server generates the client-specific debug results by providing distributed control to each debug client; and displaying, by each debug client in the client-specific GUI, the client-specific debug results, including; displaying, in the particular debug client'"'"'s client-specific local variables pane, the local variables of the stack frame associated with the active routine owned by the particular debug client; and displaying, in another debug client'"'"'s client-specific local variables pane, local variables of another stack frame. - View Dependent Claims (12, 13, 14, 15, 16)
-
Specification