Under Tools > Debugger > Debugger Backend: When FpDebug is selected, there is now an option "AutoDeref" (in the properties grid).
The option is OFF by default.
If checked, FpDebug will evaluate expressions like
PointerToMyObject.Foo // without the ^
PointerToMyArray[i] // without the ^
That is, if a (typed) pointer is followed by either "." or "[" then the debugger performs exactly one ^ deref.
The debugger has no knowledge if a unit was compiled with or without that ModeSwitch. The debugger applies the setting globally.As I don't use that ModeSwitch in any of my code, I have no experience when or where it will affect operations (all the nitty gritty details).
And also, I will not use the feature in may daily work, reducing the amount of testing it gets from me.
So, I relay on those who use the modeswitch (and want the debugger to behave accordingly) to test it.
And to find out any place were the debugger behaves different from what the compiler does. (except for applying the flag globally).
If you find differences, then please create an issue report on the bugtracker. Please include a small example prog that show what the compiler does.