[GDB backend] Inside at certain procedure, pressing F8 continues execution of the program instead of stepping to next line.
Original Reporter info from Mantis: Cyrax
-
Reporter name:
Original Reporter info from Mantis: Cyrax
- Reporter name:
Description:
In our case, unit udcutils (src/udcutils.pas) seems to be the source of this bug. Especially EnableControl procedure (line 1141). I don't know if other procedures that resides inside of the unit are problematic.
When debugger goes inside of this procedure, pressing F8 does not continue stepping behaviour so it will not step out from procedure in question either. Instead it will go straight to full execution mode. And when shutting down debugging session, it seems that debugger remembers that it was in stepping mode and goes off the rail; inside of FPC trunk sources, especially exception handling routines because closing DoubleCommander causes itself to shutdown its sockets service mechanism (needed for elevation purposes, I think?) and this causes exception happen which is handled in normal way.
This bug isn't happening at inside x86_64-linux container at all.
Attached file contains debug info generated from running instance of the Lazarus trunk and during debug process of DoubleCommander project.
Additional information:
Running Lazarus trunk and FPC trunk inside LXC Arch i386-linux container.
---
Excerpt from src/udcutils.pas :
procedure EnableControl(Control: TControl; Enabled: Boolean); begin Control.Enabled:= Enabled; {$IF DEFINED(LCLWIN32)} if Enabled then begin Control.Color:= clDefault; Control.Font.Color:= clDefault; end else begin Control.Color:= clBtnFace; Control.Font.Color:= clGrayText; end; {$ENDIF} end;
Mantis conversion info:
- Mantis ID: 36522
- OS: Arch
- OS Build: 3.17.4-1
- Build: r62502
- Platform: Linux x86_64
- Version: 2.1 (SVN)