六帖のかたすみ

DVを受けていた男性。家を脱出して二周目の人生を生きています。自閉症スペクトラム(受動型)です。http://rokujo.org/ に引っ越しました。

「LoaderLockが検出されました。」がうっとおしい

C++アプリケーションと.NETアプリケーション(C#, VB.NET)を混在して成り立っているプロジェクトで頻繁に出現するこのウインドウ。

f:id:happyholiday:20150904091901p:plain

長い長い時間をかけてデバッグしてきたのにこのメッセージのせいで処理が先に進まなくなると絶望的な気持ちになります。デバッグ中に.NET様の機嫌を損ねるマネージコードがあることが原因らしいですが、そんなこと言ったってそのようなコードは現実に実行されているし変更もできないので、どうしようもありません。

しかしこのメッセージをすっ飛ばす機能がありました。。!

「LoaderLock が検出されました。」の対処方法 | Managed DirectX プログラミング解説

あああなたが神か。

対処方法

LoaderLock例外の発生時に、処理を停止しないようにします。

メニューの【デバッグ → 例外】から、Managed Debugging AssistantsLoaderLockの項目の[スローされるとき]のチェックを外します。

http://so-zou.jp/software/tech/library/managed-directx/troubleshooting/images/exception.jpg

見事デバッグできました。ありがたいありがたい。