Wow, nice to see that you guys actually care.
We try. We (the team) are outnumbered by users though...
Can you rebuild your IDE with debug info (Menu: Tools > Configure build lazarus: Custom options -gw -gl -Criot -gh -O-1 ) and start the IDE with
lazarus.exe --debug-log=c:\logfile.txt (edit the properties of the desktop shortcut to add the option)
I recompiled and run Lazarus with the options you stated. Interestingly, since that I haven't had any issues again and the IDE seems to run stable now. Tried many projects, switched tabs many times. No problems. I will keep an eye on it though.
It is possible you did hit an assertion. "assert(something)".
The IDE code contains asserts to check certain conditions never happen (as they should not). If they do, they may still produce a result, or silently do nothing... But since they are not supposed to happen, they are stopped with asserts.
You can add -Sa to the above list, to see if this is the case.
It is also possible that the issue depends on the optimization level (I have to check, what the installer is build with.)
You can replace the -O-1 from above with either -O- or -O2 or -O3
The one problem we (the team) have, is that once the installer is build, tested and released, we do not actually use that exact binary. Since we keep developing, we work with the svn version. And often also with different compile flags, as required by developing (debug settings).
There is also a setting -gt which can be used to trigger certain bugs. (it can be added as -gt OR -gtt OR -gttt)
I usually have that applied to my settings.
Lastly, something could have gone wrong with the executable during installation, and was fixed consequently by rebuilding it.
Maybe it didn't like the fact that I run it in a VMware guest OS? I found out that some "sensible" operations seem to not like it.
I dont know, but I doubt it.
I run the IDE in native windows, but I also run it in Virtualbox in a Linux guest. No problems there.
About the debugger. It currently relies on GDB (like a lot of other open source projects, but unlike commercial products). GDB sometimes causes its own errors... That is no excuse, just an explanation. We are working on an alternative. But it takes a lot of time.
You can test it by installing LazDebuggerFP, and configure (Tools > Options >Debugger) to use fpdebug. It is present in 1.8, but had lots of fixes in svn since.
Where can I find this debugger? Google only brings me to a Github repository 2 years old: https://github.com/alrieckert/lazarus/tree/master/components/lazdebuggers ... But I doubt that it is what you meant? Especially because you said "SVN" and not "GIT"?
First of all, if you have gdb related issues, then 99% likely you would get "oops the debugger..." errors displayed.
fpdebug comes with the installer: In the IDE, in the menu: Packages > "Install/Uninstall packages". Under "Available for installation" search for "LazDebuggerFp". Install, and when you close the dialog, confirm to rebuild the IDE.
Then under menu Tools > Option, page Debugger: There is a dropdown (it shows gnu debugger", choose "fpdebug". Thats it.
In 1.8.4 it may have issues with 64bit (not sure it supports that at all), breakpoints in generics, and stepping in some cases.
In Svn trunk that should work. Best to use "fpcupdeluxe" if you want to install and test trunk.
Mind fpdebug is still beta. But I use it myself successful for some projects where gdb fails.
Can't switch between form and code, even though the project clearly has forms
Regarding that, I found out that the projects I opened had their forms positions saved in weird places, like Top -1352 or Left 2844. Seems like the author has some big monitor.
In the menu: Windows, there is "Center a lost window".
But I think, opening such a form, should at least give a warning. May be worth a bug report.
---
edit:
To do svn on windows:
- Install tortoise svn.
- Checkout
https://svn.freepascal.org/svn/lazarus/trunk eg into c:\laz_svn
- Copy the lazarus.exe from your install into the folder you checked out.
- create a folder "conf" in this folder. eg c:\laz_svn\conf
- create a file lazurus.cfg eg c:\laz_svn\lazarus.cfg
and put this lines into it
--primary-config-path=c:\laz_svn\conf
--debug-log=C:\lazlog.txt
The debug log is optional.
The conf line makes sure this lazarus uses its own conf, and will not interfere with your existing install.
When you run this lazarus, a setup dialog will show (if not, you got the lazarus.cfg wrong).
The lazarus directory is the svn checkout dir c:\laz_svn
Point fpc, and fpc sources, to the fpc in your existing install.
Same for gdb.
There will be warnings about installed packages, ignore them.
=> rebuild the IDE
and thats it.