Как определить, где возникает ошибка при вызове асинхронного метода WinRT?

Я отлаживаю асинхронный вызов метода WinRT, который не удается. Как я могу найти, где возникает проблема? Я думаю, что это можно сделать, отследив, где впервые сообщается об ошибке. Есть какие-нибудь подсказки? Я использую IDA Pro & VS 2013.

После глубокой отладки, я думаю, я нашел, где ошибка отчаянно читается — с помощью недокументированной функции ntdll «NtGetCompleteWnfStateSubscription» (вы можете проверить связанный вопрос для получения более подробной информации об этом). Но я не могу искать, какая функция его устанавливает. Также я не могу отладить саму функцию «NtGetCompleteWnfStateSubscription», так как это ядро.

Это более общий вопрос. Это происхождение из этого один.

2

Решение

Обычно я заключаю асинхронный вызов в задачу, используя create_task() И в .then() лямбда — зов task.get() в try-catch блок. Это дает мне исключение.

0

Другие решения


По вопросам рекламы [email protected]