I need to set breakpoints in a source code compiled using
aCompiledMethod := self class compiler
source: source;
noPattern: true;
context: thisContext;
requestor: self;
bindings: self bindings;
compileDoit
This compiled method has noPattern so it is executed as MyClass>>DoIt:
I want to set a breakpoint programmatically, so a tried:
Breakpoint removeAll.
breakpointList do:[ :aBreakpointIndex |
breakpoint := Breakpoint
breakOnAST: ( aCompiledMethod ast statements at: 2 )
inObject: MyClassInstance.
breakpoint enable].
and executing it doesn't rises Break Exception
result:= compiledMethod
valueWithReceiver: MyClassInstance
arguments:{MyClassInstance}.
It seems the breakpoint is installed because if I try to see the
breakpoints folder inspecting MyClassInstance, the debugger
raises errorKeyNotFound: key #DoIt: not Found in method dictionary.
Any ideas?