为了测试我自己的应用程序与 LargeAddressAware (LAA) 的兼容性,我已将AllocationPreference
windows 的“内存管理”设置为 MEM_TOP_DOWN,如https://stackoverflow.com/a/22745579
“MemTopDown.reg”(需要重新启动 Windows):
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"AllocationPreference"=dword:00100000
--
在我的测试环境中,我现在已经升级到 Windows 10 版本 1703(Creators Update)。
巧合的是,我注意到其他启用了 LAA 的 32 位应用程序现在也崩溃了。例如:
- 火狐 53.0
- 铬 58.0.3029.81
- Adobe Acrobat Reader DC 17.009.20044
- irfanview 4.44
- xmind 8 (3.7.1.201612151837)
- 微软 Excel 16.0.4522.1000
- 微软 PowerPoint 16.0.4266.1001
这些类型的崩溃都指向:
Faulting module name: CoreMessaging.dll, version: 10.0.15063.0
--
问题:
Windows 10(版本 1703)和交换机有已知的错误吗AllocationPreference
?
--
编辑:
解决最初的评论:这个问题是关于AllocationPreference
启用了注册表开关的测试环境 - 这是不是默认情况下!这是一个自定义开关,可以更好地识别具有内存地址的应用程序错误。
但在这里,它似乎是 Windows 操作系统本身的一个错误:似乎任何启用 LAA 的 32 位应用程序会崩溃以防万一MemTopDown 开关已设置。
在 Windows 10 的早期服务包级别上未观察到该症状。
在 Windows 7 等其他版本上也没有观察到该症状。
--
编辑2:
对所有这些初始“评论”的说明:我现在已将注册表开关添加到该问题中。
只需将其添加到您的系统,重新启动,然后查看所有 LAA 32 位应用程序崩溃...
要恢复,只需再次删除该注册表项即可。
--
edit3:
现在添加我的 WER 崩溃转储(Windows 错误报告)的屏幕截图http://sysdev.microsoft.com/
它指向“microsoft::coreui::dispatch::useradapter_handledispatchnotifymessage”:
答案1
现在固定的和累积更新 KB4025342(2017-07-11)— 或更高版本。
它带有版本号10.0.15063.483
。