In fact, a small workaround is required.
For me it was always strings in procedure parameters.
I was able to locate the error once because I noticed that a Val(string) call overwrote another variable.
Since this did not cause a crash, the cause of the overwriting was easy to identify.
A rectangle was drawn in the wrong size.
When you see this, at first you are completely flabbergasted.
Since both variables were in the procedure header, this was quite simple.
In other cases it was an almost endless search.
In your opinion, should we only use our own pointers to pass strings as procedure parameters ?
Did you take a look to asm generated code ?
@BitblazerBitblazer wrote: Indeed. It would make sense to simply adjust the compilation process so it keeps a copy of the last sources in a archive with the added timestamp. That way you could simply manually "rollback" to the last working version and at least track the compiler bug down. It is an easy to add feature for the IDE. Maybe an idea for 5.8?
I agree, this is a really great idea!
Yes, this is the first thing to look at.mk-soft wrote:I still don't know if the compiler crashes or only after creating the execute of the debugger.
It would be interesting to have a special place in the forum, many coders have had crash problems and different approaches exist (locked post or something like that, to avoid having hundreds of posts, some ideas could be grouped together)
Locating crash causes is very time consuming and not easy to do...