For debugging, the serial port is invaluable. However, I find the repeated print() and println() method calls (one at a time) time consuming and a pain to change formatting. Instead, I’d rather have a compressed (concatenation - single line). I found the Streaming library solved the problem. You can learn more about it here. This library, along with using the Flash memory macro, has sped up my code->debug->code cycle.
It allows you to convert this:
lcd.print(" date: ");
lcd.print(day);
lcd.print("-");
lcd.print(month);
lcd.print("-");
lcd.println(year);
into:
lcd << " date: " << day << "-" << month << "-" << year << endl;