【转】尝试在关闭一个被调试的程序时出现如下错误:
检测到LoaderLock
DLL“C:\WINDOWS\assembly\GAC\...\..\...dll”正试图在 OS 加载程序锁内执行托管代码。不要尝试在DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。

最简单的方法,在"Debug"菜单下----"Exceptions"----"Managed Debugging Assistants"中掉"LoaderLock"

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

【原创】以上方法是在2008年时一位网友的帖子,在vs2008中并不适用,解决办法为项目-》**属性-》调试-》点选“启用非托管代码调试”。

相关文章:

  • 2021-12-19
  • 2021-09-05
  • 2021-09-19
  • 2021-08-09
  • 2022-12-23
  • 2021-09-08
  • 2021-12-03
猜你喜欢
  • 2021-11-30
  • 2021-07-07
  • 2021-07-14
  • 2021-05-16
  • 2021-11-02
  • 2021-08-07
相关资源
相似解决方案