Debugging stream applications

The Streams Processing Language (SPL) Streams Debugger (sdb) provides a command line-based interactive debugger for debugging stream applications.

This debugging environment focuses on examining the flow of data (tuples and punctuation) in and out of SPL operators. The Streams Debugger enables the user to insert probe points (such as breakpoints and trace points) associated with input and output ports. Such probe points enable inspection and modification of tuples and activating the GNU Debugger (gdb) for source code level debugging of the internal operator logic. The Streams Debugger provides the following abilities to observe and change the data as it flows in the application:

  • Setting breakpoints to suspend thread execution when a tuple arrives at a port.
  • Updating tuple values before your application continues execution of a stopped breakpoint.
  • Removing a tuple or punctuation from the flow at a stopped breakpoint.
  • Injecting new tuples and punctuation into the data flow at a specified port.
  • Tracing the flow of tuples and punctuation through a port without suspending thread execution.
  • Logging traced tuple and punctuation data to a file.
  • Defining conditional breakpoints and trace points using SPL expressions.
  • Using gdb to debug the source code for an operator's process method.