public ReportWriter() { string var = Environment.GetEnvironmentVariable("MDB_DEBUG_FLAGS"); if (var != null) { int pos = var.IndexOf(':'); if (pos > 0) { file = var.Substring(0, pos); var = var.Substring(pos + 1); } if (!Report.ParseDebugFlags(var, out flags)) { Console.WriteLine("Invalid `MDB_DEBUG_FLAGS' environment variable."); } } if (file != null) { writer = new StreamWriter(file, true); } else { writer = new StreamWriter(Console.OpenStandardError()); } writer.AutoFlush = true; start_time = DateTime.Now; }
static bool ParseDebugFlags(DebuggerOptions options, string value) { if (value == null) { return(false); } int pos = value.IndexOf(':'); if (pos > 0) { string filename = value.Substring(0, pos); value = value.Substring(pos + 1); options.DebugOutput = filename; } DebugFlags flags; if (!Report.ParseDebugFlags(value, out flags)) { return(false); } options.DebugFlags = flags; return(true); }