[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