[Lazarus] Need testers for the a new debugger
Joost van der Sluis
joost at cnoc.nl
Mon Jul 21 13:44:52 CEST 2014
> On 20/07/14 15:47, Joost van der Sluis wrote:
> I haven't seen the spurious SIGSEGV for a while, so maybe that is fixed.
> I am still seeing the spurious leaving of a routine on pressing step
> into on one particular begin, but mostly it looks good - I think it is
> rather faster than the gdb debugger.
It's not that strange it's faster then the gdb-debugger, as gdb is an external application from which the output is parsed.
The step-into-next-line code is quite complicated. Just single-stepping until another procedure with line-info has been hit is too slow. So it uses watchpoints on the stack, so that the debuggee stops when a new procedure is being called, or the current procedure has ended. Then it compares the line-info with the line-info at the start of the step-into-next-line. It is very well possible that for some reason the start of the procedure is ignored, so that it immediately steps to the end of the procedure.
Can you create a small test-application with a procedure that has this problem? With some steps to reproduce?
If you want to look at it yourself, look at the TDbgControllerStepIntoLineCmd class in fpdbgcontroller.pas. The DoContinue function is called when the debuggee has to start running again. When the debuggee stops running, ResolveEvent is being called. ResolveEvent has to set Finished to true if the command has finished. If Finished is set to false, DoContinue is called again, and the debuggee continues running.
> Not sure about the spurious step - I notice on some routines stepping
> steps to the end line sometimes and then back into the routine. Perahps
> it is related to this?
Do you have an example? It could be that the execution point really jumps up-and-down, or that the debug-info gives some strange results.
Joost.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20140721/dcb4a719/attachment-0003.html>
More information about the Lazarus
mailing list