The Swarm Debugging Client for Pharo
Instanciate a UI-less debugger on your execution, allowing you to manipulate and inspect it via scripting.
In addition, it captures and sends debug data to the visualization.
The API is on the SindarinDebugger class.
Metacello new
repository: 'github://SwarmDebugging/SwarmDbgPharo:master';
baseline: 'SwarmDebugging';
load.
dbg := SwarmSindarinDebugger debug: [<your code>].
"Manipulate and inspect the debugged execution by sending messages to dbg"
dbg step; stepOver.
dbg context inspect.
...
Metacello new
repository: 'github://eduardoafontana/Pharo-Classes-Sample:master';
baseline: 'PharoClassesSample';
load.
dbg := SindarinDebuggerSwarm debug: [ ClassA new methodA1 ].
dbg stepOver.
dbg step.
dbg stepOver. "over ClassB new"
dbg stepOver. "over methodB1"
dbg stepOver. "over ClassB new "
dbg stepOver. "over methodB2"
dbg stepOver. "over ClassB new "
dbg stepOver. "over methodB3"
dbg stepOver. "over ClassB new "
dbg step. "into methodB1"
dbg stepOver. "over ClassC new"
dbg step. "into methodC1"
dbg stepOver. "return to ClassB"
dbg stepOver. "return to ClassA"
dbg stepOver. "return to root?"
dbg stepOver. "..."