我们看到我们的多个客户在将 Outlook 升级到至少两个更新渠道(每月企业 2209 (15629.20258) 和半年度企业:2202 (14931.20806))中的任何 11 月 9 日更新后遇到 Outlook 崩溃。我们仍处于试图确定根本原因的调查阶段,但此时我们有一些数据。
EventViewer
错误是:
错误应用程序名称:OUTLOOK.EXE,版本:16.0.15629.20258,时间戳:0x63603097 故障模块名称:ucrtbase.dll,版本:10.0.19041.789,时间戳:0x2bd748bf
有时是
ntdll.dll
而不是ucrtbase.dll
我们从一位客户那里得到了一些故障转储,抛出异常的那一行是不同的,但它们也相当无辜。我们在一个地方这样做:
Dim propertyAccessor As Microsoft.Office.Interop.Outlook.PropertyAccessor = mail.PropertyAccessor
另一个:
Dim mail As Microsoft.Office.Interop.Outlook.MailItem = TryCast(item, Microsoft.Office.Interop.Outlook._MailItem)
我们使用 Add-in Express,在这两种情况下,调用堆栈显示我们的代码被调用自:
AddinExpress.MSO.2005.dll!AddinExpress.MSO.ADXOutlookAppEvents.DoExplorerSelectionChange(对象资源管理器) AddinExpress.MSO.2005.dll!AddinExpress.MSO.ADXAddinModule.OlExplorerEvents_10_SinkHelper.AddinExpress.MSO.IExplorerEvents_10.SelectionChange()
最后,客户转储文件中的异常是:
OUTLOOK.EXE.7468.dmp 中 0x00007FFF720BC67F (ntdll.dll) 处的未处理异常:间接调用保护检查检测到无效的控制传输。
有谁知道变量赋值或
TryCast
如何触发控制流异常?或者我们可以采取任何步骤来获取有关根本原因的更多信息?
只是想跟进这个,因为我讨厌 StackOverflow 上没有跟进的问题。 :) 随着时间的推移,问题“消失了”。我假设它已在 Outlook 更新中得到解决 - 但我无法在发行说明中找到任何提及它的地方。我们确实与 Microsoft 支持工程师合作,但这是一线支持,所以没有太多结果。