C# - Debug.WriteLine - 这个函数是ASync吗?

时间:2010-02-15 07:55:11

标签: c# visual-studio visual-studio-2008

我刚遇到一种情况:我正在调试一个迭代大量数据的线程。我正在使用Debug.WriteLine来打印正在处理的记录。刚刚发生的事情是该线程报告它已经处理了所有记录,但Visual Studio的调试窗口仍在显示。我很肯定线程已经完成了它的工作。

Debug.WriteLine Async或数据是否已堆叠在Visual Studio的缓冲区中并且显示缓慢?

2 个答案:

答案 0 :(得分:2)

Visual Studio正在执行异步部分。 Win32 API OutputDebugString在Visual Studio的输出窗口中执行相同的操作。

您可以尝试使用DebugView

答案 1 :(得分:2)

MS没有提到这种方法是异步的。 Debug.WriteLine方法对跟踪侦听器进行操作,您看到的现象是跟踪侦听器而不是Debug.WriteLine的实现结果。

通常,当缓冲区已满或超时后,输出会刷新到屏幕,而不会发生。这意味着您应该期望输出同步但延迟。