Well the message is displayed by the IDE, to show something that LLDB has printed.
There is an issues that the IDE was not able to parse the LLDB output. But that just explains the (badly) chosen wording of the message.
The output of LLDB happens first, so if the IDE parsed it, the IDE would write "the app stopped with error" instead of "the debugger ..."
Fixes in the IDE that are needed (need the "debug output":
- better wording
- better parsing
But those don't make the problem go away. The error happened before that.
And since you get a stack-trace, lldb is still alive.
Therefore the crash is in the debugged app.
As to what causes the crash => I don't know. I gave you my best guess, but there are a dozen other good causes that can crash an app.
And if it works outside the debugger:
- most likely: a timing issues, since an attached debugger affects timing.
- less likely: a bug in lldb
Least likely: There is an issue in how fpc writes line info. This issues can cause a debugger to set breakpoints incorrectly. So far the only manifestation known of this, is with gdb. But it could happen with lldb. If that is the case, do not use breakpoints:
- in the procedure in which the error occurred
- in the procedure immediately above (in source code order), skipping any procedures that are not called (those will not have blue dots)
If the error is caused by such a breakpoint, there is a bug report against fpc for that....