Why are Debug Objects turned off at creation?
The Debug Objects and Debug Channels are global objects. Because libcwd could not be dependant of libcw, they do not use libcw’s Global<> template. As a result, the order in which the debug channels and objects are initialized is unknown; moreover, other global objects whose constructors might try to write debug output could be constructed before the debug objects are initialized! The debug objects are therefore designed in a way that independent of there internal state of initialisation they function without crashing. It should be obvious that the only way this could be achieved was by creating them in the state off.