【问题标题】:What is the recommended approach to solve outlook addin hanging?解决 Outlook 插件挂起的推荐方法是什么?
【发布时间】:2012-01-30 10:10:11
【问题描述】:

我有一个相当稳定且已使用多年的 Outlook 插件。在 citrix 机器环境中,如果打开,插件会导致 Outlook 挂起。日志没有多大帮助。如果我可以进行原生调试,我该如何解决这个问题?

【问题讨论】:

    标签: debugging vsto debug-symbols sysinternals


    【解决方案1】:

    Outlook 挂起的原因有很多。由于 Outlook 是基于 COM 的,它使用STA,这将导致主 UI 线程在等待长时间运行的操作完成时挂起(网络调用、磁盘读/写等。 )。

    您需要查看源代码以查看组件在挂起时执行的行为。如果您可以重复挂断,插入跟踪语句 (Trace.TraceInformation) 也可能会有所帮助。从事件ThisAddIn.ThisAddIn_Startup 开始,查看AddIn 的入口点。 DebugView 是一个很棒的实用程序,可以在插件运行时查看其跟踪输出。

    如果 COM 资源没有被正确清理 (Marshal.ReleaseComObject) - 随着时间的推移,内存消耗会增加,这将开始使应用程序变得迟缓 - 尽管它不应该导致它冻结/挂起。

    最好的办法是了解插件的行为,看看是什么触发挂起。

    【讨论】:

      猜你喜欢
      • 2010-10-01
      • 1970-01-01
      • 2010-10-19
      • 1970-01-01
      • 2014-12-09
      • 1970-01-01
      • 1970-01-01
      • 2015-07-18
      • 1970-01-01
      相关资源
      最近更新 更多