2017-02-12 6 views
1

При отладке моего универсальном приложения в Visual Studio 2015, я заметил, что некоторые ошибки в окне вывода:Как читать ошибки WinRT?

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). 

Проблема заключается в том, что я не знаю, как читать эти ошибки. В чем смысл этих кодов?

ответ

1

Это просто шум, который отладчик не может избежать, поскольку он всегда получает уведомление о «первом шансе» для исключений. Сам WinRT был написан на C++-коде и использует исключения SEH для выполнения своей работы. Такие исключения по правилам COM не допускаются к пересечению границы модуля, и они попадают в код WinRT. Они могут создать код ошибки для вызова api, который получает ре-рейз в вашей собственной программе, но это не обязательно так. Похоже, они не так игнорировали.

Если вы хотите сделать еще несколько копаний, чтобы увидеть душу машины, то this blog post дает приличные намеки.