托管调试助手“LoaderLock”在“D:\工作目录\苏州领益\现场框架\LY-6P-喷涂1-E-20230415\Debug\Saejong.exe”中检测到故障。 其他信息: 正试图在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。
时间: 2023-08-11 11:08:52 浏览: 160
这个错误通常是由于在DLLMain函数或映像初始化函数中尝试执行托管代码,导致应用程序挂起。为了解决这个问题,你可以尝试将托管代码移动到DLLMain函数或映像初始化函数之外的地方执行。你可以将托管代码放在单独的函数中,并在DLLMain函数或映像初始化函数调用该函数。这样可以避免出现LoaderLock错误。另外,确保你的代码没有使用不正确的线程同步方法,这可能会导致LoaderLock错误的发生。
相关问题
VS如何取消 托管调试助手“LoaderLock”在“D:\工作目录\苏州领益\现场框架\LY-6P-喷涂1-E-20230415\Debug\Saejong.exe”中检测到故障。 其他信息: 正试图在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。
要托管调试助手的LoaderLock错误,你可以在Visual Studio中进行以下设置更改:
1. 打开Visual Studio并加载你的项目。
2. 转到“调试”菜单,选择“选项”。
3. 在弹出的对话框中,展开“调试”节点,然后选择“一般”。
4. 在右侧的选项中,找到“Suppress JIT optimization on module load (Managed only)”(仅限托管),将其选中。
5. 点击“确定”以保存更改。
此设置将禁用即时编译器(JIT)在模块加载时进行优化,可能会解决LoaderLock错误。重新运行你的应用程序,并查看是否还会出现相同的错误。
请注意,这只是一个设置更改建议,并不能保证百分之百解决问题。如果问题仍然存在,你可能需要进一步检查代码和调试设置来解决问题。
阅读全文