I don't know exactly what your previous version was...
And, most likely your issue is not with the version of Lazarus, but the version of FPC you are using. That means, you may have used an older Lazarus, but maybe with a 3.2.3 fixes version of FPC?
Anyway, as far as I remember....
Generics compiled with older versions of FPC did not work with breakpoints. (or "not always"). I do not recall what exactly "older version" that was => but it may have been 3.2.2. And it may be that the fix is in 3.2.3.
The issue (if memory serves) was, that
- if you had a generic in one unit (e.g. generics.collection) with code in lines 100 to 150
- you had a "specialize ThatGeneric<...>" in your unit "UnitFoo"
- Then the compiler would tell the debugger that the lines where in UnitFoo from 100 to 150. Meaning you had to set the breakpoint there (of course there would be another procedure there, and that would be in the way).
However the above was from tests with generic classes.
I have not tested generic functions like that.
Please also note that
type TFoo = object
procedure Bar;
requires fpc trunk to debug inside Bar (you can breakpoint there, but you will not see any fields of TFoo/self)