Collaborative software debugging in a distributed system with client-specific event alerts
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;
detecting, by each debug client, user input through the client-specific GUI, including detecting, by a requesting debug client, user input specifying a location in source code to establish an event notification for an event;
establishing, by the requesting debug client, a client-specific event alert to be invoked upon receipt of the event notification;
generating, by each debug client in dependence upon the detected user input, one or more application-level messages, including generating, by the requesting debug client, a request to establish the event notification;
sending, by each debug client, the application-level messages to the debug server, including sending, by the requesting debug client, the request to establish the event notification;
receiving, by each debug client responsive to the application-level messages, client-specific debug results, including receiving, by the requesting debug client and at least one other debug client, the event notification responsive to the back-end debugger encountering the event; and
displaying, by each debug client in the client-specific GUI, the client-specific debug results, including invoking, by the requesting debug client, the client-specific event alert responsive to the event notification, without invoking an alert by at least one of the other debug clients receiving the event notification.
1 Assignment
0 Petitions
Accused Products
Abstract
In a distributed system including a debug server and debug clients coupled for data communications through a network, where the debug server includes a debug administrator, message router, back-end debugger, and a debuggee, collaborative software debugging includes: presenting a client-specific GUI; detecting user input through the GUI, including user input specifying a location to establish an event; establishing a client-specific event alert to be invoked upon receipt of an event notification for the event; generating application-level messages, including a request to establish the event; sending application-level messages to the debug server, including the request; receiving client-specific debug results, including an event notification for the event; and displaying the client-specific debug results, including invoking the client-specific event alert responsive to the event notification, without invoking an alert by at least one of the other debug clients receiving the event notification.
122 Citations
18 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;detecting, by each debug client, user input through the client-specific GUI, including detecting, by a requesting debug client, user input specifying a location in source code to establish an event notification for an event; establishing, by the requesting debug client, a client-specific event alert to be invoked upon receipt of the event notification; generating, by each debug client in dependence upon the detected user input, one or more application-level messages, including generating, by the requesting debug client, a request to establish the event notification; sending, by each debug client, the application-level messages to the debug server, including sending, by the requesting debug client, the request to establish the event notification; receiving, by each debug client responsive to the application-level messages, client-specific debug results, including receiving, by the requesting debug client and at least one other debug client, the event notification responsive to the back-end debugger encountering the event; and displaying, by each debug client in the client-specific GUI, the client-specific debug results, including invoking, by the requesting debug client, the client-specific event alert responsive to the event notification, without invoking an alert by at least one of the other debug clients receiving the event notification. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. 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;detecting, by each debug client, user input through the client-specific GUI, including detecting, by a requesting debug client, user input specifying a location in source code to establish an event notification for an event; establishing, by the requesting debug client, a client-specific event alert to be invoked upon receipt of the event notification; generating, by each debug client in dependence upon the detected user input, one or more application-level messages, including generating, by the requesting debug client, a request to establish the event notification; sending, by each debug client, the application-level messages to the debug server, including sending, by the requesting debug client, the request to establish the event notification; receiving, by each debug client responsive to the application-level messages, client-specific debug results, including receiving, by the requesting debug client and at least one other debug client, the event notification responsive to the back-end debugger encountering the event; and displaying, by each debug client in the client-specific GUI, the client-specific debug results, including invoking, by the requesting debug client, the client-specific event alert responsive to the event notification, without invoking an alert by at least one of the other debug clients receiving the event notification. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. 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 storage medium, wherein the computer readable storage medium is not a signal, 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;detecting, by each debug client, user input through the client-specific GUI, including detecting, by a requesting debug client, user input specifying a location in source code to establish an event notification for an event; establishing, by the requesting debug client, a client-specific event alert to be invoked upon receipt of the event notification; generating, by each debug client in dependence upon the detected user input, one or more application-level messages, including generating, by the requesting debug client, a request to establish the event notification; sending, by each debug client, the application-level messages to the debug server, including sending, by the requesting debug client, the request to establish the event notification; receiving, by each debug client responsive to the application-level messages, client-specific debug results, including receiving, by the requesting debug client and at least one other debug client, the event notification responsive to the back-end debugger encountering the event; and displaying, by each debug client in the client-specific GUI, the client-specific debug results, including invoking, by the requesting debug client, the client-specific event alert responsive to the event notification, without invoking an alert by at least one of the other debug clients receiving the event notification. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification