/**
  * Add a debugging message
  * 
  * @param string $str The message to add to the debug protocol
  */
 public static function Debug($str)
 {
     if (!self::$Debugging) {
         return;
     }
     $temp = date('Y-m-d H:i:s') . "\t" . $str;
     if (self::$DebugBackTrace) {
         $trace = debug_backtrace();
         $temp .= " ('" . $trace[1]['function'] . "' in '" . basename($trace[1]['file']) . "' at line #" . $trace[1]['line'] . ")";
     }
     self::$DebugInfo[] = $temp;
     if (!is_null(self::$DebugFile)) {
         if (file_put_contents(self::$DebugFile, $temp . "\n", FILE_APPEND) === false) {
             self::Debug('Could not write to debug file ' . self::$DebugFile);
             self::$DebugFile = null;
         }
     }
 }