[Lazarus] Need testers for the a new debugger

Joost van der Sluis joost at cnoc.nl
Mon Aug 25 16:47:59 CEST 2014


On 08/25/2014 02:02 PM, Dmitry Boyarintsev wrote:
> On Mon, Aug 25, 2014 at 6:26 AM, C Western <l at c-m-w.me.uk
> <mailto:l at c-m-w.me.uk>> wrote:
>
>
>     1. How about a "slow step" option?
>
> What's is slow step option? Is it stepping over each instruction until
> the next known line reached?

As I wrote that a 'perfect' step (the step you described) would be very 
slow, I think that this is what he means, yes.

I've tried that: LCL without debug-info, created a OnFormCreate event 
and then I stepped into the CreateForm function. With this 'slow step' 
it took more than 15 minutes before the debugger stopped inside the event.

So a "slow step" is not a real option. What could be done is adding a 
setting for how many levels "deep" the debugger will use simple 
single-stepping.

But for now I'm happy with the current solution.

>     2. Could the compiler add more information to make this easier? Or
>     is it simply a matter of compiling everything with a stack frame?
>
> How about using a 3d party library compiled without debugging info /
> stack frame?
> The library could use your code compiled with debug info (i.e. by
> calling a callback), where the debugger should stop.

Indeed. That's one problem. Another problem is that on i386 a 
third-party library could use another calling convention. And for some 
(most?) compiler-proc's it is not possible to create a stack-frame, 
which also would slow down the code.

What the compiler could do is adding line-info for the complete code. 
But I doubt that an average developers will appreciate that. An 
alternative could be to add line-info, but with a remark that the code 
could be skipped during stepping. But then we need to add something new 
to the Dwarf-format.

Joost.




More information about the Lazarus mailing list