@Override
            public void debugEvent(ComplexEvent event, String queryName, SiddhiDebugger.QueryTerminal queryTerminal,
                                   SiddhiDebugger debugger) {
                info("@Debug: Query: " + queryName + ", Terminal: " + queryTerminal + ", Event: " + event);
                printNextLine();
                while (scanner.hasNextLine()) {
                    String command = scanner.nextLine().trim().toLowerCase();
                    if (STOP.equals(command)) {
                        debugger.releaseAllBreakPoints();
                        debugger.play();
                        inputFeeder.stop();
                        siddhiAppRuntime.shutdown();
                        break;
                    } else if (NEXT.equals(command)) {
                        debugger.next();
                        break;
                    } else if (PLAY.equals(command)) {
                        debugger.play();
                        break;
                    } else if (command.startsWith(STATE)) {
                        if (!command.contains(QUERY_DELIMITER)) {
                            error("Invalid get state request. The query must be " + STATE + ":<query " +
                                    "name>. Please try again");
                            printNextLine();
                            continue;
                        }
                        String[] components = command.split(QUERY_DELIMITER);
                        String requestQueryName = components[1];

                        Map<String, Object> state = debugger.getQueryState(requestQueryName.trim());
                        System.out.println("Query '" + requestQueryName + "' state : ");
                        for (Map.Entry<String, Object> entry : state.entrySet()) {
                            System.out.println("    '" + entry.getKey() + "' : " + entry.getValue());
                        }
                        printNextLine();
                        continue;
                    } else {
                        error("Invalid command: " + command);
                        printNextLine();
                    }
                }
            }
Start the {@link SiddhiDebuggerClient} and configure the breakpoints.

@param siddhiApp the Siddhi query
@param input     the user input as a whole text
modules/siddhi-core/src/main/java/io/siddhi/core/debugger/SiddhiDebuggerClient.java