Closed YukiIsait closed 3 months ago
提供最小程序代码工程,才有可能有后面的可能
两个点 1.为什么要指定EntryPoint? 2.为什么要禁用GS?
试了下,只要正经一点用WinMain做入口,就没有问题,大概是WinMain附带了一些dll处理释放的事项? 如果你要写得这么不一样,应该可能对Windows内部编程有很深入的了解,就要对它随之的可能问题负责了。
我试过只要在退出前手动将加载的dll free掉,就不会有这个异常。
所以,我认为这个不是输入法的问题。
上报前请检查
操作系统信息
描述遇到的问题
程序被系统自动加载
weasel.dll
后,程序结束时系统卸载DLL抛出未经处理的内存访问冲突异常如下:调用栈如下:
复现步骤
Shim.exe
软件Shim.exe
运行结束weasel.dll
内存访问冲突异常问题程序的最小示例如下:
最小代码工程.zip
预期行为
期望
weasel.dll
正常DETACH用户文件
RimeData.zip
截图
抛出异常的截图:
问题程序的最小示例截图:
其他补充说明
问题程序的编译工具链为
Visual Studio 2017 - Windows XP (v141_xp)
,关闭了GS
安全检查,指定了程序入口点为EntryPoint
,如果不写任何代码并在EntryPoint
直接返回,不会触发weasel.dll
异常。