VS如何取消 托管调试助手“LoaderLock”在“D:\工作目录\苏州领益\现场框架\LY-6P-喷涂1-E-20230415\Debug\Saejong.exe”中检测到故障。 其他信息: 正试图在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。
时间: 2023-08-12 17:03:37 浏览: 103
要托管调试助手的LoaderLock错误,你可以在Visual Studio中进行以下设置更改:
1. 打开Visual Studio并加载你的项目。
2. 转到“调试”菜单,选择“选项”。
3. 在弹出的对话框中,展开“调试”节点,然后选择“一般”。
4. 在右侧的选项中,找到“Suppress JIT optimization on module load (Managed only)”(仅限托管),将其选中。
5. 点击“确定”以保存更改。
此设置将禁用即时编译器(JIT)在模块加载时进行优化,可能会解决LoaderLock错误。重新运行你的应用程序,并查看是否还会出现相同的错误。
请注意,这只是一个设置更改建议,并不能保证百分之百解决问题。如果问题仍然存在,你可能需要进一步检查代码和调试设置来解决问题。
相关问题
托管调试助手“LoaderLock”在“D:\工作目录\苏州领益\现场框架\LY-6P-喷涂1-E-20230415\Debug\Saejong.exe”中检测到故障。 其他信息: 正试图在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。
这个错误通常是由于在DLLMain函数或映像初始化函数中尝试执行托管代码,导致应用程序挂起。为了解决这个问题,你可以尝试将托管代码移动到DLLMain函数或映像初始化函数之外的地方执行。你可以将托管代码放在单独的函数中,并在DLLMain函数或映像初始化函数调用该函数。这样可以避免出现LoaderLock错误。另外,确保你的代码没有使用不正确的线程同步方法,这可能会导致LoaderLock错误的发生。
/usr/bin/ld: 找不到 -ly: 没有那个文件或目录
这个错误提示通常是因为缺少了需要链接的库文件 `-ly`,你可以尝试以下解决方案:
1. 确认你的代码中是否有使用到 `-ly` 链接选项,如果没有,那么可能是其他库引起的问题。
2. 确认你的系统中是否安装了需要链接的库,如果没有,可以尝试安装。
3. 如果库已经安装,但仍然出现错误,可以尝试重新安装库,或者通过软链接的方式解决。
例如,如果你需要链接的是 `libxxx.so` 库,你可以在终端中执行以下命令:
```
sudo ln -s /usr/lib/libxxx.so /usr/lib/liby.so
```
这将会在 `/usr/lib` 目录下创建一个名为 `liby.so` 的软链接,指向 `libxxx.so` 库文件。这样在链接时,就可以使用 `-ly` 选项了。