在Visual Studio 2015中调试通用Windows应用程序时,我在输出窗口中注意到一些错误:

Exception thrown at 0x00007FFE25967788 (KernelBase.dll) in xxx.exe: 0x40080201: WinRT originate error (parameters: 0x0000000080072738, 0x00000000000000C2, 0x000000217DCFEFD0).
Exception thrown at 0x00007FFE25967788 (KernelBase.dll) in xxx.exe: 0xE06D7363: Microsoft C++ Exception (parameters: 0xCCCCCCCC19930520, 0x000000217D6FD410, 0x00007FFE08A58AD0, 0x00007FFE08980000).
Exception thrown at 0x00007FFE25967788 (KernelBase.dll) in xxx.exe: 0x40080202: WinRT transform error (parameters: 0x0000000080072738, 0x0000000000000000, 0x0000000000000027, 0x000000217D6FEF90).

问题是我不知道如何读取这些错误。这些代码的含义是什么?

最佳答案

这只是噪声,调试器无法避免产生这种噪声,因为它总是会收到异常的“第一次机会”通知。 WinRT本身是用C++代码编写的,并使用SEH异常来完成其工作。 COM规则的此类异常不允许越过模块边界,它们会被WinRT代码捕获。它们可能会为api调用生成错误代码,该错误代码会在您自己的程序中重新引发,但不一定是这种情况。看起来他们并没有那么忽略。

如果您想进一步挖掘机器的灵魂,那么this blog post会提供一些体面的提示。

关于windows - 如何读取WinRT错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42183740/

10-13 07:50