On 17 Dec 2012, at 23:44, Tudor Girba <tu...@tudorgirba.com> wrote:

> Hi,
> 
> Just in case someone wants to take a look: the GTDebugger is around and it is 
> supposed to be readable and extensible (works in 1.4 for the moment):
> http://www.humane-assessment.com/blog/glamorous-debugger-for-smalltalk-alpha/

Can you say anything about availability for 2.0 ?
I haven't touched or worked in 1.4 for months…

> Cheers,
> Doru
> 
> 
> On 14 Dec 2012, at 13:31, Stéphane Ducasse <stephane.duca...@inria.fr> wrote:
> 
>> Hi mike
>> 
>> last week andrei sat with ben and they got a first sketch of a debugger 
>> using spec and the 
>> model extracted from the debugger.
>> 
>> Then just after jorge visited us and ported/fixed Bifrost in 1.4 and 2.0 so 
>> we will also have an
>> object-centric debugger.
>> 
>> Stef
>> 
>> On Dec 14, 2012, at 12:48 AM, Michael Roberts wrote:
>> 
>>> Indeed we spent some time in Edinburgh looking at it :-) that was too long 
>>> ago :-(
>>> 
>>> The problem i see with the original debugger inherited from Squeak, in the 
>>> Pharo context, is that it is very sensitive to a lot of the core code in 
>>> the image. What this means is that the accelerated changes in Pharo code 
>>> base had unintended side effects on original debugger machinery as it 
>>> diverged from its ancestry. It goes all the way back to pushing Eliot's 
>>> closure implementation in 1.0 which we were desperate and excited for. 
>>> 
>>> Since we relied on taking core compiler/closure/debugger code from Squeak 
>>> it became more and
>>> more important to track the difference between squeak and Pharo. Anyone who 
>>> has tried looking at the diffs will know how hard that is.  I forget which 
>>> class it was but we found this obscure bug in one of the collection classes 
>>> IIRC that threw one tiny but annoying aspect of debugger highlighting off. 
>>> I only found that by single stepping both images through known code 
>>> snippets with this debugger 'oscilloscope' I had hacked up for the purpose. 
>>> What that experience showed was it was really involved how the instruction 
>>> machinery hangs together. As squeak trunk is where most fixes get pushed in 
>>> this area it requires huge resources and diligence to track every change to 
>>> see if Pharo needs it. For ages Stef would post every interesting looking 
>>> trunk change to the pharo bug tracker but there were not many folks looking 
>>> at them all. And also it is not nice work. We didn't have the tools or 
>>> modularity to cherry pick changes in this area. 
>>> 
>>> So the new debugger model in Glamorous showed an interesting direction to 
>>> go in and this comment from Marcus is also interesting on seemingly 
>>> building a new debugger architecture which we have discussed before.  I was 
>>> trying to do was to figure out a way you could regression test the debugger 
>>> by recording and replaying examples of it's operation and checking each 
>>> release it hadn't been broken unexpectedly. I think there is still mileage 
>>> in that area if it has not been done already. 
>>> 
>>> Also, historically, I am not convinced it was ever properly working in the 
>>> sapphire build or even in 3.9. The bugs and effects were so subtle that you 
>>> just got used to working around them. I.e. I have 20 mins to do some coding 
>>> do I add a bit more to my cool seaside app or do I struggle with fixing the 
>>> debugger? Last I looked at squeak trunk it was looking pretty good. But the 
>>> code base is hard to track. 
>>> 
>>> What I was last thinking about in this area was trying to live 'trace' in 
>>> some way all the code required by the debugger into a filed out and renamed 
>>> set of classes like :SqDebugger SqArray SqCompiler SqInstructionStream and 
>>> so on and then load them into Pharo. The idea being you would have an 
>>> identical implementation that you would use to operate on all the Pharo 
>>> code but entirely independent from it and maintained in squeak trunk. It is 
>>> an unrealistic idea but the example i was thinking about from the 
>>> electronic world is using one oscilloscope to test or observe the internals 
>>> of another.  You could do that image to image over the network of course 
>>> but I am not sure if you just vary the complexity in a different direction. 
>>> 
>>> Anyway just my 2p, I care a lot I about the tooling and look forward to 
>>> seeing what comes out! 
>>> 
>>> Cheers,
>>> Mike 
>>> 
>>> (a bit absent, but still enjoying the progress)
>>> 
>>> On 13 Dec 2012, at 09:40, Igor Stasenko <siguc...@gmail.com> wrote:
>>> 
>>>> On 13 December 2012 10:30, Stéphane Ducasse <stephane.duca...@inria.fr> 
>>>> wrote:
>>>>> Now adrian I imagine that you saw that people worked on this bug and this 
>>>>> is a rather complex one.
>>>>> So I would suggest to you to avoid to draw conclusions too fast.
>>>>> 
>>>> yes, if i remember, we tried to approach it at least once..
>>>> but unfortunately it requires a lot deeper knowledge about bytecode
>>>> and (de)optimizations to fix highlight.
>>>> 
>>>>> Stef
>>>>> 
>>>>> On Dec 12, 2012, at 11:28 PM, adrians wrote:
>>>>> 
>>>>>> 
>>>>>> Well, it just seems that I'm whining here instead of contributing, but if
>>>>>> the debugger is indeed a very (if not the most) useful tool which is 
>>>>>> used in
>>>>>> pretty much every bit of fix-up work, fixing it if it is broken would 
>>>>>> have
>>>>>> to come before all else, no? Otherwise, any work that needs to be done 
>>>>>> until
>>>>>> it is looked at is just compounded.
>>>>>> 
>>>>>> Maybe it would make sense to correct (in the current code) to a small 
>>>>>> degree
>>>>>> just one of the things that is currently broken. No frills, but just 
>>>>>> getting
>>>>>> a more accurate indication of where the PC is - at least have it on the
>>>>>> correct line of code if it can't be pinpointed more accurately without 
>>>>>> too
>>>>>> much hassle. I'm curious what derails the location highlighting as half 
>>>>>> of
>>>>>> the time it is close, if not correct. Is it blocks that give it a hard 
>>>>>> time?
>>>>>> It wouldn't be too bad if other things were going to take a while if you
>>>>>> could at least keep track of where you were.
>>>>>> 
>>>>>> If the idea is to wait until a whole big refactoring can be done on 
>>>>>> this, I
>>>>>> fear a fully debugger might be another year away.
>>>>>> 
>>>>>> -- Adrian
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> --
>>>>>> View this message in context: 
>>>>>> http://forum.world.st/Helping-the-noobs-help-out-i-e-fixing-the-debugger-tp4658666p4659105.html
>>>>>> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> Best regards,
>>>> Igor Stasenko.
>>>> 
>>> 
>> 
>> 
> 
> --
> www.tudorgirba.com
> 
> "Beauty is where we see it."
> 
> 
> 
> 


Reply via email to