C # - Debug.WriteLine - это функция ASync? - PullRequest
2 голосов
/ 15 февраля 2010

Я только что столкнулся с ситуацией: я отлаживал поток, который перебирает большой объем данных. Я использовал Debug.WriteLine, чтобы напечатать, какая запись обрабатывается. То, что только что произошло, это то, что поток сообщил, что он обработал все записи, однако окно отладки Visual Studio по-прежнему отображается. Я уверен, что тема завершила свою работу.

Является ли Debug.WriteLine Async или данные были помещены в буфер Visual Studio и отображаются медленно?

Ответы [ 2 ]

2 голосов
/ 15 февраля 2010

MS не упоминает этот метод как асинхронный. Метод Debug.WriteLine работает с прослушивателями трассировки, и наблюдаемые вами явления являются результатом реализации прослушивателя трассировки, а не Debug.WriteLine.

Обычно вывод выводится на экран при заполнении буфера или после истечения времени ожидания, а не так, как это происходит. Это означает, что вы должны ожидать, что вывод будет синхронным, но с задержкой.

2 голосов
/ 15 февраля 2010

Visual Studio выполняет асинхронную часть. WinDid API OutputDebugString делает то же самое в окне вывода Visual Studio.

Вместо этого вы можете попробовать DebugView .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...