À partir d'un projet d' application console dans Visual Studio , je souhaite rediriger la sortie de Console
vers la fenêtre de sortie pendant le débogage.
Réponses
Trop de publicités?
dkackman
Points
8131
class DebugWriter : TextWriter
{
public override void WriteLine(string value)
{
Debug.WriteLine(value);
base.WriteLine(value);
}
public override void Write(string value)
{
Debug.Write(value);
base.Write(value);
}
public override Encoding Encoding
{
get { return Encoding.Unicode; }
}
}
class Program
{
static void Main(string[] args)
{
#if DEBUG
if (Debugger.IsAttached)
Console.SetOut(new DebugWriter());
#endif
Console.WriteLine("hi");
}
}
** Notez que ceci est grossièrement assimilé presque à un pseudo-code. ça marche mais a besoin de travail :) **
Niike2
Points
530
ivanatpr
Points
906
Notez que si vous utilisez la méthode de dkackman mais que vous voulez écrire la sortie dans les deux fenêtres de la console et de la fenêtre de débogage, vous pouvez légèrement modifier son code comme ceci:
class DebugWriter : TextWriter
{
//save static reference to stdOut
static TextWriter stdOut = Console.Out;
public override void WriteLine(string value)
{
Debug.WriteLine(value);
stdOut.WriteLine(value);
base.WriteLine(value);
}
public override void Write(string value)
{
Debug.Write(value);
stdOut.Write(value);
base.Write(value);
}
public override Encoding Encoding
{
get { return Encoding.Unicode; }
}
}
TobyEvans
Points
890