LoaderLock was detected, kompilacja z .dll DirectX

0

Howdy!

Dłubię sobie przy pewnym projekcie open source i od jakiegoś czasu przy każdym uruchomieniu z Visual Studio dostaję na twarz taki dialog:
user image
Kolejne naciśnięcie F5 odpala program bez problemu.

Chętnie się dowiem w czym tkwi problem oraz jak go naprawić/obejść/ignorować by nie wyskakiwał.

2

Hmm, tutaj jest całkiem sporo rozwiązań:
http://stackoverflow.com/questions/56642/loader-lock-error

Najprostsze z rozwiązań, podobno pomaga:

you need to go to menu Debug -> Exceptions, open the Managed Debugging Assistants, find LoaderLock and uncheck

0

Hmm, ino w moim Visual Studio 2010 C# Express nie ma pozycji Exceptions w menu Debug...
Ale ostatni post bez plusików załatwił temat: Press ctrl d+e. Gdybym miał tam konto to był dorzucił + ;-)

Teraz rzeczywiście błędem nie rzuca, ale po trzykrotnym przeczytaniu wyjaśnienia co to za błąd chyba nadal nie pojmuję.

Tak czy siak, pomogło, dzięki.

1

Teraz rzeczywiście błędem nie rzuca, ale po trzykrotnym przeczytaniu wyjaśnienia co to za błąd chyba nadal nie pojmuję.

Problem jest złożony. Ale mniejsza o technikalia.
Jest to wada biblioteki Managed DirectX. Biblioteka wykonuje pewną operację niebezpieczną (*), która grozi deadlockiem aplikacji.
Deadlocka co prawda nie ma, bo biblioteka działa. Ale Microsoft postanowił „tego zabronić”, dodając stosowny wyjątek do debugera w Visual Studio.

BIblioteka jednak poprawiona nie będzie, bo nie jest już rozwijana.

Rozwiązania są właściwie trzy:
• olać
• wyłączyć pokazywanie tego konkretnego wyjątku
• przejść na inną, nowszą bibliotekę do DirectX, np. SlimDX albo XNA.

(*) konkretnie: próba wykonania kodu zarządzanego podczas aktywnego „loader lock”, czyli w czasie ładowania się (natywnej) DLL-ki.

0

Dzięki za wyjaśnienie.
Z tego co widzę, to zostało dorzucone DirectInput by móc sterować sprzętem za pomocą joysticka.

1 użytkowników online, w tym zalogowanych: 0, gości: 1