Лучший отвечающий
Как отладить цепочку await методов?

Вопрос
-
При замене всех async методов в цепочке вызовов на методы, не содержащие await, программа работает, а с await'ами зависает. Как отлаживать эту цепочку? Код не выкладываю, т.к. он очень большой.
- Изменено Энтомолог 15 марта 2015 г. 14:28
15 марта 2015 г. 14:28
Ответы
-
Возможно у вас именно look приводит к взаимоблокировке. Нельзя смешивать асинхронный код с блокировками. Почитайте данную статью.
Сделаем содержимое сообщества лучше, вместе!
- Помечено в качестве ответа Энтомолог 17 марта 2015 г. 5:29
16 марта 2015 г. 8:15Модератор
Все ответы
-
Можно ставить точки останова у методов, и в окне вызовов эти методы анотированы как [Async] переключаясь между ними в Autos окне можно увидеть возвращающие значения , если у вас есть VS2013 то можно включить Threads window через меню Debug-> Window-> Tasks там уже более детальная информация. Полезные ссылки
http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Asynchronous-Debugging-in-Visual-Studio-2013
15 марта 2015 г. 16:14 -
А у вас там только await - ты или есть ещё код синхронизации? Если так, то возможно у вас дедлок.
Сделаем содержимое сообщества лучше, вместе!
15 марта 2015 г. 16:19Модератор -
Что Вы имеете в виду под кодом синхронизации? Как мне провериться на дедлок?15 марта 2015 г. 18:17
-
Lock, Monitor и т.п...
Сделаем содержимое сообщества лучше, вместе!
- Изменено YatajgaEditor 15 марта 2015 г. 18:26
15 марта 2015 г. 18:25Модератор -
Есть lock.
Также есть доступ к БД на чтение.- Изменено Энтомолог 15 марта 2015 г. 19:18
15 марта 2015 г. 19:17 -
Возможно у вас именно look приводит к взаимоблокировке. Нельзя смешивать асинхронный код с блокировками. Почитайте данную статью.
Сделаем содержимое сообщества лучше, вместе!
- Помечено в качестве ответа Энтомолог 17 марта 2015 г. 5:29
16 марта 2015 г. 8:15Модератор