有时候在控制台应用程序中执行上述语句时,程序会冻结。如果我打断点,我就不能移动到下一行。我需要重置缓冲区或者其他什么吗?这是一个批处理过程应用程序,它将消息显示到屏幕上。有人遇到过这个问题并成功解决了吗?这似乎是一个新问题。我正在使用Visual Studio 2017专业版。WriteLine卡住的函数如下所示。sMessage的值为空字符串""。
static void Display(string sMessage, DisplayColours eColour = DisplayColours.White)
{
if (eColour == DisplayColours.Yellow)
Console.ForegroundColor = ConsoleColor.Yellow;
if (eColour == DisplayColours.Blue)
Console.ForegroundColor = ConsoleColor.Cyan;
if (eColour == DisplayColours.Green)
Console.ForegroundColor = ConsoleColor.Green;
if (eColour == DisplayColours.Red)
Console.ForegroundColor = ConsoleColor.Red;
if (eColour == DisplayColours.Magenta)
Console.ForegroundColor = ConsoleColor.Magenta;
if (oFptr != null)
{
oFptr.WriteLine(sMessage);
oFptr.Flush();
}
Console.WriteLine(sMessage);
Console.ForegroundColor = ConsoleColor.White;
}
oFptr
,你确定代码中有这样的对象,并且你的程序没有卡在oFptr
上吗?你尝试过逐步调试吗? - Markiian Benovskyi