On 21 Nov 2015, at 10:22, Denis Kudriashov <dionisiydk@gmail.com> wrote:
Ok. I just read Nicolai comment. So question: is SyntaxErrorDebugger used anywhere? I remove it because it uses another way how to open debugger
My quick check didnât turn up anything. But to be sure, go and grab the Moose development image. Maybe they use it there in some way (though I doubt it).
21 ноÑб. 2015 г. 10:15 AM полÑзоваÑÐµÐ»Ñ "Max Leske" <maxleske@gmail.com <mailto:maxleske@gmail.com>> напиÑал:
On 21 Nov 2015, at 09:34, Denis Kudriashov <dionisiydk@gmail.com <mailto:dionisiydk@gmail.com>> wrote:
Slice was declined because I remove SyntaxErrorDebugger. I not found any reference to it. And there was no instances of it. Can anybody show me where it is used?
Are you sure? The validation says that it failed due to âsubclass responsibility not definedâ (two messages of UIManager that arenât implemented in all of its subclasses). It doesnât say anything abut SyntaxErrorDebugger.
Cheers, Max
20 ноÑб. 2015 г. 19:27 полÑзоваÑÐµÐ»Ñ "Andrei Chis" <chisvasileandrei@gmail.com <mailto:chisvasileandrei@gmail.com>> напиÑал: 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 <dionisiydk@gmail.com <mailto:dionisiydk@gmail.com>> 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 <dionisiydk@gmail.com <mailto:dionisiydk@gmail.com>>: 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