One of the things we did was to use a constant (or a bitwise and set of constants) inside a right-side if conditional for whether we had debug statements work. The compiler optimizes away the entire line at run-time if the constant conditional is false.