I know globals are generally a bad idea, I just use them for debugging purposes on occasion.

I have a global variable that is clearly (I checked this multiple times, in multiple ways) not being accessed by any other part of the program. But the value of the variable is being modified somehow, from time to time.

I'm trying to list possible reasons for why this could be happening. My best guess right now is memory corruption. In particular, perhaps writing past the end of an array.

What other possibilities should I consider?