繁体   English   中英

如何检测应用程序正在使用多少句柄

[英]How to detect how much handles the application is using

对于基于SWT的应用程序,我们相对经常会遇到SWT错误“不再处理”。 要检测问题是否出在我们的代码中,如何检测- 在我们的应用程序中使用代码 -我们的应用程序实际使用了多少句柄?

如果我对您的理解正确,那么您可能会遇到以下异常:

org.eclipse.swt.SWTError:没有更多的句柄

您可能正在创建未正确配置的资源(例如Font,Image或GC对象)。您可能需要花一些时间来阅读有关管理操作系统资源的SWT指南。

为了确定是否确实如此,我可以推荐这篇有用的文章: 在SWT / RCP Windows应用程序中诊断句柄泄漏

使用Sleak,它也是一种监视资源的方法。

在Windows任务管理器的“进程”选项卡中,可以添加“句柄”列,以实时显示所有进程使用的句柄。

Baz给Sleak的秘诀给了我这个主意:

final DeviceData data = new DeviceData();
data.tracking = true;
display = new Display(data);

然后以固定的间隔记录从

final int handleCount = display.getDeviceData().objects.length

不幸的是,检测窗口小部件的数量(我想它们也正在使用句柄)不可能那么容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM