loaderlock MDA——在应用程序执行的后期
本文关键字:执行 应用程序 MDA loaderlock | 更新日期: 2023-09-27 18:02:36
这是我在运行应用程序时遇到的问题,它不是在任何启动路由中,而是在更晚的时候:
管理调试助手'LoaderLock'在'C:'Projects'VideoPhill'PlayerRAC'Recorder'VidePhill Recorder Test'bin'x86'Debug'VideoPhillRecorder.vshost.exe'中检测到问题。附加信息:DLL 'C:'Windows'assembly'GAC'Microsoft.DirectX.DirectSound'1.0.2902.0__31bf3856ad364e35'Microsoft.DirectX.DirectSound. DLL '试图在操作系统加载器锁定内托管执行。不要尝试在DllMain或映像初始化函数中运行托管代码,因为这样做会导致应用程序挂起。
为什么?去哪里找?
MDA有给出错误警告的诀窍。显然,在DirectX包装器加载时,CLR已经加载并初始化,您的程序实际上并没有挂起。Debug + Exceptions,展开Managed Debugging Assistants节点并取消"LoaderLock",这样它就不会再唠叨你了。
避免在MDX上花费大量精力,它在很久以前就被宣布过时了。由XNA框架取代。市面上也有一些开源包装器(SlimDX、SharpDX、DirectShow.NET)。我不能评价他们的实力。