I'm working with the Adafruit GPS library, and I'm pretty sure there's a bug in it that is causing it to lose fix after a LONG time. (I have built a clock that uses the GPS as a source of the time, because the clock displays astronomical time instead of wall time. IOW, I need position as well as UTC time.)
The point is, every 25 days, the fix drops and never comes back. 25 days is almost exactly 2^32/1000/2, or.... the number of milliseconds in a signed 32 bit int. I STRONGLY suspect that something is going wrong in the driver and I'd like to debug it and submit a fix.
The best way to do this would be, in setup(), to set the counter to 2^32 - 10k milliseconds. That way, the project would start up, immediately find a GPS fix (assuming I'd not powered the board down between resets) and start running.... then within 10 seconds, it would start exhibiting the bug, allowing me to track it down in an evening instead of.... well, ignoring it because it'll take me 25 days to reproduce it in the serial monitor the first time. Then another 25 days for the next debugging cycle.
I've seen a number of people asking exactly this question who are invariably told to make sure that their project can support millis() overflow, but that's a crap answer because... without being able to forcibly reset the counter, it is impossible to properly debug your system. Sure, you could write a replacement for millis() and go through all of your code, all all of your dependency libraries, altering them to work with your fixture.... or you could reset the freaking counter during startup and debug the entire thing in a few seconds of change instead of... who knows...
Thanks...