[Pharo-project] Better debugging...

Alexandre Bergel alexandre.bergel at me.com
Mon Apr 25 17:39:19 CEST 2011

All Smalltalk (and Java profilers) tells us which method call stack appears the most during an execution. This is pretty poor. "What are the objects that makes an execution slow?" and "Which are message arguments responsible of a slow execution?" are the two questions I will probably work on for the next two years. We already have some preliminary: http://www.bergel.eu/download/papers/Berg10aProfiling.pdf
More to come in a few days.

Same thing for debugging. Why should I see the execution as a bunch of stack frame? 
"How to set a breakpoint based on the object state?"
"Are all objects responsible for an odd execution or is there just a particular one?"
"What is the exact difference of execution if I slightly change a method?" 
"If I call #foo it works, if I call #foo2 it does not work. Why? What are the objects that appears with #foo2 that do not appear with #foo?"
All these questions are essential in my opinion. 

Code profiler and code debugger are pretty poor. I can continue with test code coverage tools. 
After all, Computer Science is a pretty young science.


On 25 Apr 2011, at 07:34, Craig Latta wrote:

> Hi Alexandre--
>> Debugging, as well as profiling, is a topic that everybody got it
>> wrong. We still debug an application in oo in the same way that
>> people debugged their C program: thinking in term of call stack and
>> stack frame instead of objects.
>     So tell us more! :)  How do you express causality?
> -C
> --
> Craig Latta
> www.netjam.org/resume
> +31  06 2757 7177
> + 1 415  287 3547

Alexandre Bergel  http://www.bergel.eu

More information about the Pharo-project mailing list