C#-Debug.WriteLine-此函数是否异步?

C#-Debug.WriteLine-此函数是否异步?,c#,visual-studio,visual-studio-2008,C#,Visual Studio,Visual Studio 2008,我刚刚遇到一种情况:我正在调试一个线程,该线程遍历大量数据。我正在使用Debug.WriteLine打印正在处理的记录。刚刚发生的事情是,线程报告它已经处理了所有记录,然而,VisualStudio的调试窗口仍在显示。我确信线程已经完成了它的工作 Debug.WriteLine是异步的还是数据已堆叠在Visual Studio的缓冲区中并且显示缓慢?Visual Studio正在执行异步部分。Win32 API OutputDebugString在Visual Studio的输出窗口中执行相同的

我刚刚遇到一种情况:我正在调试一个线程,该线程遍历大量数据。我正在使用Debug.WriteLine打印正在处理的记录。刚刚发生的事情是,线程报告它已经处理了所有记录,然而,VisualStudio的调试窗口仍在显示。我确信线程已经完成了它的工作


Debug.WriteLine是异步的还是数据已堆叠在Visual Studio的缓冲区中并且显示缓慢?

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


你可以试着用它来代替

MS没有提到此方法是异步的。 Debug.WriteLine方法在跟踪侦听器上运行,您看到的现象是跟踪侦听器实现的结果,而不是Debug.WriteLine

通常,当缓冲区已满或超时后,输出会刷新到屏幕上,而不是按实际情况。这意味着您应该期望输出是同步的,但是是延迟的