2010-05-03 78 views
1

我寫了一個小的.NET添加到Excel 2007中,它從外部C++ api讀取數據並將其顯示在excel中。
任務管理器顯示我有內存泄漏(內存使用率在引發「Excel無法用可用的資源錯誤完成此任務」之後線性擴展至250MB),但只要我儘量減少,問題就會消失excel窗口。

api使用委託來返回數據,並將其更新到字典中。 另一個線程每秒更新一次字典中的excel。Excel加載內存爆炸

非託管代碼不太可能導致泄漏。

有沒有人有一個想法是什麼會導致這種情況?

10x!

+0

你如何推斷​​內存使用是由於內存泄漏?如果有一個像它爲什麼會停在250 MB?最小化窗口並不能解決泄漏問題。 – 2010-05-03 14:33:28

+0

我在250MB原因後停止了,excel給我一個「無法用可用資源完成操作」。 – tsinik 2010-05-03 14:37:11

+1

你在XP嗎?任務管理器僅向您顯示在最小化應用程序主窗口時由操作系統減少的工作集。我建議使用Process Explorer來查看私有字節。另見http://channel9.msdn.com/forums/TechOff/454007-Minimize-Window-Drop-its-Mem-Usage/ – 2010-05-03 14:44:39

回答

0

我發現了這個問題。 我正在更新單元格,方法是設置需要更多時間的Formula屬性。 Excel沒有設法按時完成所有更新,並且堆棧增長。 我改變了更新單元格到set_value的方式後,它變成了OK。

感謝所有。