I had a first look at it.
The crash is probably a side effect. It seems that the debugger has problem reading the debug info from the app.
So in all likelihood, if it did not crash, it would start the app, but you could not inspect any data, because the debugger did not read the info what variable your app has.
Step by step:
1) around line 1100
/components/lazdebuggers/lazdebuggerfplldb/fplldbdebugger.pas
FMemManager := Loader.MemManager;
FDwarfInfo := Loader.DwarfInfo;
Result := Loader.ReaderErrors;
Loader.Free;
if FDwarfInfo.Image64Bit then
FPrettyPrinter := TFpPascalPrettyPrinter.Create(8)
else
FPrettyPrinter := TFpPascalPrettyPrinter.Create(4);
exit;
the line
if FDwarfInfo.Image64Bit then
should be
if FDwarfInfo = nil then exit;
if FDwarfInfo.Image64Bit then
I have to do some tests, if there will be further error (crash) after this.
THis leaves the question why the debug info is not read ....
Are you able to debug an empty project /form with just a button , and a button-click handler "caption:='test me';" ?
What settings did you do in your project?
Can you send a copy of the project.lpi file? (Unless the next few question bring up an answer)
Is you debug type set to either "dwarf", "dwarf with sets" or "dwarf 3"
And you follow the settings in
http://wiki.lazarus.freepascal.org/Debugger_SetupDo you use "external debug symbol" ?
If so, can you try with/without?
After you used it, there will be a folder projectname.DSYM => delete this folder after debugging (before switching off external info)