On 08/25/2014 02:02 PM, Dmitry Boyarintsev wrote:
On Mon, Aug 25, 2014 at 6:26 AM, C Western <l...@c-m-w.me.uk
<mailto:l...@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.
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus