I think this is a regression since this did not appear with RC1:
- set a breakpoint somewhere in your code
- sun the program in Release mode
result: the breakpoint becomes invalid.
This is new but might be OK, since it is no debug run.
But now
- stop the program
result: the breakpoint stays invalid, also when you changed the build mode to "Debug"
Lazarus 2.2.0RC3 (rev lazarus_2_2_0_RC2-73-g0bf8dc1256)
FPC 3.2.3 x86_64-win64-win32/win64
I think the breakpoint should become valid again when the program is not executed like it was before.
Actually, while the debugger is not running, technically it should be unknown.
This is not about changing the debug info. This should (afaik) be triggered when the debugger stops.
Merely changing the debug info, does not, will not, and should not change the state (other than potentially unknown). Since without the debugger the IDE can not know if the breakpoint is then valid. It might be on an empty line, or even a unit not included in the exe.
IIRC:
unknown: red with no further mark
good/valid: red witch check-mark
bad: orange
disabled: green
So what you mean is actually unknown.
and gdb has red with pause-bars for "not yet valid, lets see if a library gets loaded where it can be set". That one does not yet exist in FpDebug.
----------------
I have to check your above report when I have time.
Please report it on the bugtracker, so it will not be forgotten.
About empty lines:
yes gdb accepted empty lines for the next line. With the effect that people did not know why the debugger stopped at line 500 => which was the first line of code in the unit. And the answer was, because at line 20 of that unit a breakpoint was set.
Neither "not at all" nor "at all costs" is good. But that is a different topic, and currently not high prior.