How to monitor variables not using the serial?

I use Serial.flush() with an counter to empty the buffer if I think there is a chance of that happening.

In an ISR? That doesn't stand a hope in hell of working.