First, maybe I'm missing something in your first part of your response but that link seems to want me to make sure you have a debugger hooked up to Laz. From my post I hope its clear that the only problem my app is having is exiting while running under the debugger. The debugger is gdb.exe.
Yes, it is clear you have gdb hooked up. But there are different ways that can be done. So the link asks to check.
But, unfortunately I was wrong in that other thread.
If your IDE is Win 64bit, then you can not debug a Win 32bit app.
The problem is fixed. But the fix is not in 2.0.x (I mistakenly though it was).
The fix is only in trunk/svn.
So if your are on Windows and your app is 32bit, you need the 32bit IDE.
There are other potential causes. But need more info to tell....
Is the point of the second link to post a log that includes the error?
Yes. And also for you to tell which OS you have....
For now I have only guessed that you are on Windows. You might be running Linux or MacOs, and the answers may be totally different.
I also only assumed, that your problem may be a 64bit IDE, debugging a 32bit app.
So please provide the info.
The log, will contain what happens in the IDE and gdb. There is no guarantee that it helps, but many times I was able to spot helpful details.
If you are concerned it reveals information that you do not want public, you can read it, and edit out details that you do not want public.
Also, I misstated my first post in that where the code interrupts with an error at a given line, none of the lines in that routine execute. That is, none of the breaks I posted in that procedure actually break.
Many paths through the code exit with an assembler interrupt that is thrown after the line of my code executes. That is, after the last line of xxx.FormClose.
If your breaks do not break and you end up in asm, then there may be an issue with debug info.
That might be a problem of its own, and might or might not be related to the SigSegv.
The log may again help to identify the issue.
As for potential fixes.....
- In Project options, (you may already have those)
- set debug info type to "dwarf with sets"
- disable "smart linking"
- disable "use external debug info"
- disable "strip debug info"
- disable inlining.
If you have the "inline" keyword in your code, then at the top of the unit insert "{$INLINE OFF}"
- try
https://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#gdb.exe_has_stopped_working- Tools => Options => debugger
try different values for "internal start break" (this is a setting in the grid on the debugger option page)
I do not know if any of those will help. There are just wild guesses.