Methods and systems for internally debugging code in an on-demand service environment
First Claim
1. A system comprising:
- a server group provided by one or more hardware computing devices each comprising one or more processors and at least one memory device, the one or more hardware computing devices appearing to a client device as a single server entity associated with a database, the server group including multiple servers that share tasks among the multiple servers, the server group toreceive, with at least one of the one or more processors, a debugging session request from a client device over a network connection, the debugging session request to debug code executed by the server group and not locally at the client device;
establish, with at least one of the one or more processors, a connection to the client device via a first server of the server group to initiate a debugging session between the server group and an integrated development environment (IDE) of the client device in response to the debugging session request, the first server to maintain open the connection with the client device for a duration of the debugging session to provide a single communication connection to enable the use of break points, step through, and evaluation via a remote debugging environment;
for subsequent service requests of the debugging session at the server group, maintain state for the debugging session, with at least one of the one or more processors, with a resource shared among the server group, receive the service requests with the first server and distribute the service requests among the server group for processing, wherein each server that processes a request is to communicate via the connection from the first server to the client device about processing on the service requests and wherein breakpoint operations are modified to be registered in a same state as the connection, and be connected back to the first server.
1 Assignment
0 Petitions
Accused Products
Abstract
A remote debug session for a server group is provided. A server group including multiple servers that perform workload sharing receives a request to debug code executed at the server group. The code is executed on behalf of a client of a database associated with the server group. One of the servers of the group initiates a debugging session and establishes a communication connection with the client. The one server maintains the connection open with the client for the duration of the debugging session. Subsequent requests related to the debug session can be handled in a number of ways by the server group, and all communication to the client about processing the requests is through the connection by the one server.
-
Citations
19 Claims
-
1. A system comprising:
a server group provided by one or more hardware computing devices each comprising one or more processors and at least one memory device, the one or more hardware computing devices appearing to a client device as a single server entity associated with a database, the server group including multiple servers that share tasks among the multiple servers, the server group to receive, with at least one of the one or more processors, a debugging session request from a client device over a network connection, the debugging session request to debug code executed by the server group and not locally at the client device; establish, with at least one of the one or more processors, a connection to the client device via a first server of the server group to initiate a debugging session between the server group and an integrated development environment (IDE) of the client device in response to the debugging session request, the first server to maintain open the connection with the client device for a duration of the debugging session to provide a single communication connection to enable the use of break points, step through, and evaluation via a remote debugging environment; for subsequent service requests of the debugging session at the server group, maintain state for the debugging session, with at least one of the one or more processors, with a resource shared among the server group, receive the service requests with the first server and distribute the service requests among the server group for processing, wherein each server that processes a request is to communicate via the connection from the first server to the client device about processing on the service requests and wherein breakpoint operations are modified to be registered in a same state as the connection, and be connected back to the first server. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A method comprising:
-
receiving a debugging session request at a server group from a client device over a network connection, the server group appearing to the client device as a single server entity associated with a database, the server group including multiple servers that share tasks among the multiple servers based on workload sharing, the debugging session request to debug code executed by the server group and not locally at the client device; establishing a connection to the client device via a first server of the server group to initiate a debugging session between the server group and an integrated development environment (IDE) of the client device in response to the debugging session request, the first server to maintain open the connection with the client device for a duration of the debugging session to provide a single communication connection to enable the use of break points, step through, and evaluation via a remote debugging environment; maintaining state for the debugging session for subsequent service requests of the debugging session at the server group with a resource shared among the server group; receiving the service requests with the first server; and distributing the service requests among the server group for processing, wherein each server that processes a request is to communicate via the connection from the first server to the client device about processing on the service requests and wherein breakpoint operations are modified to be registered in a same state as the connection, and be connected back to the first server. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer readable storage medium having content stored thereon, which when executed by one or more processors, are configurable to cause the one or more processors to perform operations including:
-
receiving a debugging session request at a server group from a client device over a network connection, the server group appearing to the client device as a single server entity associated with a database, the server group including multiple servers that share tasks among the multiple servers based on workload sharing, the debugging session request to debug code executed by the server group and not locally at the client device; establishing a connection to the client device via a first server of the server group to initiate a debugging session between the server group and an integrated development environment (IDE) of the client device in response to the debugging session request, the first server to maintain open the connection with the client device for a duration of the debugging session to provide a single communication connection to enable the use of break points, step through, and evaluation via a remote debugging environment; maintaining state for the debugging session for subsequent service requests of the debugging session at the server group with a resource shared among the server group; receiving the service requests with the first server; and distributing the service requests among the server group for processing, wherein each server that processes a request is to communicate via the connection from the first server to the client device about processing on the service requests and wherein breakpoint operations are modified to be registered in a same state as the connection, and be connected back to the first server. - View Dependent Claims (18, 19)
-
Specification