如何检测应用程序使用的处理量

时间:2014-07-25 06:12:08

标签: java swt

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

3 个答案:

答案 0 :(得分:2)

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

  

org.eclipse.swt.SWTError:不再处理

您可能正在创建未正确处理的资源(如字体,图像或GC对象)。您可能需要花点时间阅读SWT guide on Managing Operating System Resources.

为了确定是否确实如此,我可以推荐这篇有用的文章:Diagnosing Handle Leaks in SWT/RCP Windows Applications

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

巴兹' Sleak的提示给了我这个想法:

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

然后定期从

中记录数字
final int handleCount = display.getDeviceData().objects.length

不幸的是,检测窗口小部件的数量(我猜他们也在使用句柄)是不可能的。