In Warewolf debugging refers to executing a service or microservice from the Studio in Debug mode (press F6 or F5 and click the Debug button). When a service is executed in this way the Server emits debug information which shows the input and output of each activity that is executed in the service, this information is then displayed by the Studio which allows tracing of how data moved through each activity. This helps to identify issues when the output of a service is not what is expected as well as facilitate during the design phase to show what an activity would do under various inputs.
Generation and Dispatch
During execution of an activity a DebugState is created, this object is updated with inputs and outputs based on the specifics of the activity using DebugItems. The DebugState is then dispatched to the Studio via DebugDispatcher which uses EsbHub to send it to the studio for display.
Receiving and Display
DebugState is then received by the ServerProxy. The DebugOutputViewModel then uses the DebugState to display the debug information in the DebugOutputView. Each line of the debug displayed is made up of DebugItem. The DebugOutputView has a data template which then determines the color of the various parts of the debug.