如何定位WinRT异步方法调用中出现错误的位置

How to locate where error arises in a WinRT async method call?

本文关键字:错误 位置 调用 异步方法 何定位 定位 WinRT      更新时间:2023-10-16

我正在调试一个失败的WinRT异步方法调用。如何定位问题出现的位置?我认为这可以通过跟踪错误首次报告的位置来实现。有线索吗?我正在使用IDA Pro&与2013年相比。

经过深入调试,我想我发现了错误的第一个读取位置——由ntdll"NtGetCompleteWnfStateSubscription"未被拒绝的函数读取(您可以查看链接的问题以了解更多详细信息)。但我无法找到是什么函数设置的。此外,我也无法调试"NtGetCompleteWnfStateSubscription"函数本身,因为它是内核函数。

这是一个比较笼统的问题。它的起源于这个。

我通常使用create_task()在任务中包装异步调用,并在.then() lambda中在try-catch块中调用task.get()。这给了我一个例外。