Я отлаживаю асинхронный вызов метода WinRT, который не удается. Как я могу найти, где возникает проблема? Я думаю, что это можно сделать, отследив, где впервые сообщается об ошибке. Есть какие-нибудь подсказки? Я использую IDA Pro & VS 2013.
После глубокой отладки, я думаю, я нашел, где ошибка отчаянно читается — с помощью недокументированной функции ntdll «NtGetCompleteWnfStateSubscription» (вы можете проверить связанный вопрос для получения более подробной информации об этом). Но я не могу искать, какая функция его устанавливает. Также я не могу отладить саму функцию «NtGetCompleteWnfStateSubscription», так как это ядро.
Это более общий вопрос. Это происхождение из этого один.
Обычно я заключаю асинхронный вызов в задачу, используя create_task()
И в .then()
лямбда — зов task.get()
в try-catch
блок. Это дает мне исключение.