2011-03-14 55 views
5

不時有我困擾的「org.eclipse.swt.SWTError:沒有更多的句柄」。我已經知道像GDIView這樣的工具來觀察分配的句柄數量,但是現在我想知道是否有更好的方法來實現這一點。SWT - 如何調試「沒有更多的句柄」

有沒有工具可用?也許是在創建句柄時記錄所有堆棧軌跡的?哪個顯示兩個調用點之間的新句柄?

問候, 丹尼爾

PS:已添加的Windows標籤,因爲開發occures大多窗戶和窗戶的唯一工具是不夠好。

+0

這個問題可能與您的查詢有關: http://stackoverflow.com/questions/164776/overcoming-windows-user-object-handle-limit – Zoot 2011-03-14 15:15:50

+0

@Zoot:他似乎工作的症狀,而不是原因。我只是在尋找真正的泄漏,我並不需要很多手柄。正是隨着時間的推移,使用了太多的資源。通過使用sleak,我甚至能夠查找重新創建的資源。調試這也使得我的應用程序在RDP上顯示得更快。 – Daniel 2011-03-15 08:03:02

回答

3

我發現了關於Sleak的一個調試SWT資源的好工具!強烈建議每個人都有同樣的問題。甚至顯示圖像資源的圖像!

0

對我來說,問題在於新的Shell()過於頻繁地被調用。將shell存儲爲靜態成員並重用它有所幫助。因此,在應用像Sleak這樣的工具之前,其他人可能希望對「新Shell」進行全文搜索並檢查它們是否具有相同的簡單原因。

相關問題