We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I have some code running on an 8051 based processor that is quite large and complex and it also uses a few arrays. To make sure that I can avoid mistakes accessing memory location that do not exist, I'd like to know if there are anyway to get the C51 Compiler to catch this type of mistakes.
BYTE xdata myArray[8] BYTE i; for (i=0;i<10;i++) myArray[i]=i;
The compiler has no problem with that and doesn't report memory leaks. Are there any ways to make the compiler to generate an error or even a warning?
But how does that square with the "Debug what you fly; fly what you debug" mantra...?
It does not. However, there is such a thing as "a piece of added code to see if the bug you found while you Debug what you fly, fly what you debug originate in this place".
I DO have flycatchers in production code, but only for places where outside stimuli may cause e.g. a variable to be outside bounds, as far as "internally generated" values, I do not.
Erik