In OutSystems a request may result from the following:
- A browser request to the Platform Server;
- An awakened Timer action;
- A Process instance execution;
- A called Web Service method exposed by a module.
The execution of a request follows what is designed for it in the module — for example, an action to be executed when a button is pressed (browser request) or a Web Service method (Web Service method call).
To debug a request you have to suspend its execution where you want to examine module elements and runtime values by using breakpoints.
The debugger behaves differently when suspending requests at breakpoints, depending on the kind of request:
Browser requests: these requests are originated by some action taken by you on a Web Screen in a browser running in your machine (where you are also using Service Studio to debug the module). These requests are isolated and suspended only at your breakpoints. The same happens for all other users in their machines;
Other requests: requests like the ones executing Process flows, Timer actions, or Web Services methods are suspended from execution whenever they run into a breakpoint of a Debug Session started in the Public Area, either yours or of any other user because they're not isolated. In this case, you might be debugging not only your requests, but also requests from other users and vice-versa. To overcome this situation you should check in the Users Tab if there are other users debugging the module. If that is the case, each suspended request should have its module elements and runtime values examined by you (in the scope tabs) to check if the suspended request is yours.
Abort a Executing Request
While debugging a request you may abort its execution, terminating it.
Use the Abort Request button available on the Debugger Toolbar or in the Debug Menu.
Suspend All Executing Requests
If you feel that requests are taking longer than expected and something might be wrong, you can suspend the execution of all executing requests.
Select the Suspend Current Requests option in the Debugger menu. An entry is created for each one of them in the Requests Tab.
This option may not work instantaneously if what is currently being executed is not controlled by the platform, such as a Web Service or a Query. In the latter situation, the query has to reach its end for the request to be suspended.