public interface Debugger
Created by covers1624 on 15/9/25.
| Modifier and Type | Interface and Description |
|---|---|
static class |
Debugger.Internal |
| Modifier and Type | Field and Description |
|---|---|
static @Nullable Debugger |
DEBUGGER
A static instance of the debugger, if available.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
buildControlFlowGraphDot(ControlFlowNode cfNode)
Generate a GraphViz Dot graph string for the given
ControlFlowNode graph. |
java.lang.String |
buildVariableLivenessGraphDot(VariableLivenessGraph vlGraph)
Generate a GraphViz Dot graph string for the given
VariableLivenessGraph. |
void |
startDebugger(java.lang.String ipAndPort,
ClassResolver resolver)
Start an interactive http based web debugger.
|
static void |
tryIfPresent(net.covers1624.quack.util.SneakyUtils.ThrowingConsumer<Debugger,java.lang.Throwable> action)
Try to run the given action, if the debugger is available,
fire the action with it.
|
void |
writeControlFlowGraph(ControlFlowNode cfNode,
java.nio.file.Path dest)
Generate a GraphViz png for the given
ControlFlowNode graph. |
void |
writeVariableLivenessGraph(VariableLivenessGraph vlGraph,
java.nio.file.Path dest)
Generate a GraphViz png for the given
VariableLivenessGraph. |
@Nullable static final @Nullable Debugger DEBUGGER
void writeControlFlowGraph(ControlFlowNode cfNode, java.nio.file.Path dest) throws java.io.IOException
ControlFlowNode graph.cfNode - The node to generate the graph for.dest - The file to write to.java.io.IOException - Any IO exception whilst generating or writing the graph.java.lang.String buildControlFlowGraphDot(ControlFlowNode cfNode)
ControlFlowNode graph.cfNode - The node to generate the graph for.void writeVariableLivenessGraph(VariableLivenessGraph vlGraph, java.nio.file.Path dest) throws java.io.IOException
VariableLivenessGraph.vlGraph - The variable liveness graph.dest - The file to write to.java.io.IOException - Any IO exception whilst generating or writing the graph.java.lang.String buildVariableLivenessGraphDot(VariableLivenessGraph vlGraph)
VariableLivenessGraph.vlGraph - The variable liveness graph.void startDebugger(java.lang.String ipAndPort,
ClassResolver resolver)
ipAndPort - The ip and port to bind to.resolver - The ClassResolver to use for target, library, and jdk information.static void tryIfPresent(net.covers1624.quack.util.SneakyUtils.ThrowingConsumer<Debugger,java.lang.Throwable> action)
action - The action.