Another reason is for the lack of DMA. I have tight code that copies over data from a port. Depending on the mode the data may be of a different size or need to be copied with different interleaving. I have an engine that generates code for this purpose and it does just fine. If I needed to run slow and wasn't handling video I suppose I wouldn't need to do all this.
But even still, the "self modifying code" argument is simply a point. If the debugger didn't put it there, it won't show you. Which means if the debugger is wrong, it lies to you.
But I digress... None of the above has anything to do with my original "rant" as you say.
I forgot to restore a stack variable. It's a bug. That's why I'm in a debugger :) Since I'm an old timer at this point with literally 10+ IDEs in my past, the disassembly window is usually where I go to find "truth". Alas that is not the case with this IDE. It won't show you what is really there. That is very dangerous IMHO and is not something I am used to in other tools.You're breaking the ABI, and expect the debugger to notice? Heh.
If ranting is daring to find out if others have experienced this bug, I stand guilty as charged. But working around a broken disasembly window seems a bit more tolerant that I'm willing to be. That's 101 functionality that can't be compromised.Most people don't have these problems. Most people know how to work
around such problems just fine. Most people do not reply to rants.
So in the end there are 2 conclusions until these issues are fixed. Again this is only true for MULTICORE MAIN as far as I am aware:
- When in main() don't expect the debugger to work. You might end up in main unexpectedly so trying to avoid debugging there can be unavoidable. (you might not realize you're there as in my case)
- The disassembly window doesn't show you what is really there.
These 2 facts alone should be helpful to others-- I wish I knew them. Hopefully this will be fixed.