2014-09-01 17 views
7

Mam Windows 8.1 WinRT (nowoczesny/metro) aplikacji, która jest częściowo rodzimy C++ i częściowo .NET (C#)Jak znaleźć przyczynę odrzucenia wyjątku EETypeLoadException?

W pewnym momencie C++ część dzwoni delegata, który jest ustawiony do metody C#, kiedy to delegate nazywa się EETypeLoderException jest wyrzucany, a metoda nie jest wywoływana, chcę dowiedzieć się, jaka jest przyczyna tego niepowodzenia.

Metoda wskazywana przez delegata znajduje się w już załadowanym pakiecie .net, kod z tego zestawu - i ta sama klasa, która ma tę nazwę, już uruchomiono (i prawdopodobnie działa w inny wątek w chwili wyrzucania wyjątku)

Wyjątek EETypeLoadException jest natywnym niezarządzanym wyjątkiem, jest wywoływany przez niezarządzany kod (w msvcr120_clr0400.dll), mogę używać tylko niezarządzanego debuggera, aby na niego spojrzeć i ten debugger może 't pokaż mi dane z wyjątku, ponieważ nie wie o klasie EETypeLoadException.

Nie mogę wychwycić wyjątku i wyodrębnić z niego danych w kodzie, ponieważ nie mam plików nagłówkowych dla niego ani żadnej z jego superklas.

Przeglądarka dziennika fuzyjnego (FUSLOGVW) nie wyświetla niczego użytecznego, nie ma błędów wiązania, udane wiązania nie wyglądają na powiązane.

Procmon nie wykazuje żadnej próby dostępu do brakującego dll

Dokonywanie uruchomić kod na wątku UI lub zadania w tle niczego nie zmienia.

Próbuję nawet spojrzeć na zrzut pamięci obiektu wyjątku i podążając za wszystkim, co wygląda jak wskaźnik, nie można znaleźć komunikatu o błędzie.

Dzieje się tak zarówno na komputerze lokalnym oraz w symulatorze

Używam Visual Studio 2013 Update 3 na komputerze z systemem Windows 8.1

Odpowiedz

1

to wygląda EETypeLoadException rzucony przez natywnego kodu w WinRT (czyli , a nie .NET CLR) nie zawiera żadnych dodatkowych informacji i nie można uzyskać informacji o tym, co dokładnie się nie powiodło.

0

To rzeczywiście wyjątek z natywnego kodu. Jestem w stanie przechwytywać wyjątku poprzez włączenie Debug> Wyjątki> Wyjątki C++ i rozwiązać mój problem:

enter image description here

+0

Jak to pomoc indetify problematycznego rodzaju i dowiedzieć się, dlaczego to nie może być załadowany? – Nir

Powiązane problemy