我得到了
ContextSwitchDeadlock
在执行CustomXMLPart
后添加Documents.Add()
。
上周同样的代码工作正常..
我知道ContextSwitchDeadlock是由长时间运行的操作引起的(这不是一个重复的问题)。 为什么CustomXMLParts.Add()命令会导致长时间运行?
有人碰到过这个吗?以及如何排除故障的任何想法?
发生ContextSwitchDeadlock消息:托管调试助手 'ContextSwitchDeadlock'在'C:\ Program Files中检测到问题 (x86)\ Microsoft Office \ root \ Office16 \ WINWORD.EXE'。额外 信息:CLR无法从COM上下文转换 0xfdb520到COM上下文0xfdb468 60秒。拥有的线程 目的地上下文/公寓最有可能做非 抽空等待或处理很长时间的运行操作 抽取Windows消息。这种情况一般都是消极的 性能影响甚至可能导致应用程序变为非 响应或内存使用随着时间的推移不断累积。至 避免这个问题,所有单线程单元(STA)线程都应该 使用抽取等待原语(如CoWaitForMultipleHandles)和 在长时间运行期间定期泵送消息。
答案 0 :(得分:0)
调试长时间运行的进程时,可能会显示上下文切换死锁。在大多数情况下,如果预计该过程会长时间运行,您可以忽略它。