Very nice. I remember when I made GTDebugger that there were way to many
ways to open the debugger. I ended up just copy-pasting things.
Would be very useful to have a small doc with what one needs to do to
replace SpecDebugger with another debugger (e.g. what are the entry points
of the debugger in the system)

Cheers,
Andrei

On Fri, Nov 20, 2015 at 6:48 PM, Denis Kudriashov <[email protected]>
wrote:

> I clean and refactor all but lowSpaceWatcher.
> It is in slice 17069.
> In my image it is not broke stuff. So I hope it is safe change.
>
> 2015-11-20 12:18 GMT+01:00 Denis Kudriashov <[email protected]>:
>
>> Hi
>>
>> I try to investigate how debugger opens and who initiates it.
>> I want to cleanup this logic and simplify current debugger API.
>>
>> I found that basic error debugging starts with UIManager then UIManager
>> calls SpecDebugger, then SpecDebugger calls UIManager and again... At the
>> end of this chain debugger is opened by #openFullSuspendLabel: or
>> #openNotifierContents:label:
>>
>> There are two places where opening debugger initiated differently:
>> - Low space watcher calls SpecDebugger class>>openInterrupt:onProcess:
>> - Warning default action calls SpecDebugger
>> class>>openContext:label:contents: (And it not uses UIManager. I guess non
>> interactive mode not working here).
>>
>> In latest Pharo image it is only users of this methods. Is anybody know
>> anyone else?
>>
>> I almost cleaned basic errors debugging. And I want use it for this two
>> cases too. But they implements very specific logic. They both contains
>> primitive simulation guard 19 and some kind of recursion tracking.
>> I understand that low space watcher requires something clever. But why
>> Warning not opens debugger with way Error does it?
>>
>> Any suggestions?
>>
>> Best regards,
>> Denis
>>
>
>

Reply via email to