2012-01-30 99 views
1

我有一个相当稳定的outlook插件,并已使用多年。在Citrix机器环境中,如果插件处于打开状态,则插件会导致Outlook挂起。日志没有多大帮助。如果我可以进行本机调试,我该如何处理这个问题?解决outlook插件挂起的建议方法是什么?

回答

0

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

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

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

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

相关问题