2011-03-14 65 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”进行全文搜索并检查它们是否具有相同的简单原因。

相关问题