This is a known issue under 64 bit Windows, when using the default debugger of Lazarus (gdb based / GDBMI debugger). There have been sporadic reports that this may occur on other platforms too...

Anyway the symptoms of this issue are:
- During debugging you press F8 (or otherwise trigger step-over)
- The debugger will NOT step to the next line, but stop inside a function that was called by the line you tried to step over.

I myself have only reproduced this, in cases where the debugger stepped into code that has debug info. So the source of the stepped-into procedure is shown. If anyone has experienced stepping into assembler I would like feedback on this.

I have added some code, that may work around the issue. But that needs testing. It is present in trunk (r60274) and fixes 2.0 branch (merge is actually pending, but is planned to happen before release).

Due to the lack of tests this feature is disabled by default.
Go to Tools > Option > Debugger
Find (in the property grid) "FixIncorrectStepOver" and enable it.

If the IDE detects a step-in when expecting a step over, it will try to solve the issue (perform a further step-over and then a step-out / a step out from the "begin" line of a procedure does not always work).

If you have cases where this does not work, could you please report with:
- a reproducible example (if you have)
- always (even if you have an example): a logfile
http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#Log_info_for_debug_session


See also http://forum.lazarus-ide.org/index.php?topic=44121
-- 
_______________________________________________
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus

Reply via email to