Debug时检测到Loaderlock的解决办法

 转自: http://hi.baidu.com/tdskee/blog/item/47d8d9eaad6c48d8d439c97f.html
昨天遇到了Loaderlock的问题。

出错信息为:
检测到LoaderLock,正试图在OS加载程序锁内执行托管代码,不要尝试在DllMain或映像初始化函数内运行托管代码,这样会导致应用程序挂起。

解决办法:
在"Debug"菜单下----"Exceptions"----"Managed Debugging Assistants"中勾掉"LoaderLock"

说明:
.NET2.0中增加了42种非常强大的调试助手(MDA),Loaderlock是其中之一。Loaderlock检测在一个拥有操作系统loader lock的线程上运行托管代码的情况。这样做有可能会引起死锁,并且有可能在操作系统加载器初始化DLL前被使用。虽然这样做很有必要,但在进行开发调试的时候,实在太麻烦。

注意:不是工程属性里的debug,而是菜单栏的debug

你可能感兴趣的:(Debug时检测到Loaderlock的解决办法)