2009-07-23 16 views
16

我正在调试在Eclipse 3.4.1中运行的服务器进程。有20个左右的线程,睡觉后不同时间醒来。如何在Eclipse中调试时阻止其他线程窃取焦点?

我在一个线程的一个方法中设置了一个断点,并且Eclipse在那里正常停止。该线程在调试视图中用堆栈跟踪进行扩展,并且我可以使用各种按钮来逐步完成。这就是我所期望的。

我的问题是,它似乎是当另一个正在执行的线程唤醒时,它会在调试视图中窃取焦点。我暂停的线程不再被选择或扩展(它旁边有一个+),并且所有按钮都被禁用。我必须点击暂停的线程才能继续调试。

有没有人看过这个,并知道我可以改变的任何解决方法或设置?

回答

4

如果以上方法无效,您可以在调试完成后随时关闭所有断点。

断点视图:按Ctrl-A,右键 - >禁用

0

不知道这是否会起作用(还没有Eclipse安装手来确认),但有一个调试选项,你可以尝试。

运行/调试在首,有一个名为(像)激活调试视图时,遇到断点的选项。如果您取消选中该选项,Eclipse将不会将焦点转移到调试视图。它也可能阻止个别线程窃取焦点。

1

你能使用该选项在断点处停止所有线程?

7

您可以暂停整个Java VM而不是执行线程以摆脱焦点问题。

在断点视图中选择一个断点,然后选择“挂起VM”而不是“挂起线程”。在Preferences-> Java-> Debug下,可以将“Suspend VM”设置为默认选项。

3

我在调试Play!Framework 2应用程序时遇到了同样的问题。看来终于解决了这个问题的是在调试透视图/线程视图面板上下文菜单中取消选中Java - > Monitors。

+0

似乎没有最后的积极效果,我回来了,暂停线程失去焦点:-( – 2013-12-17 12:48:35

相关问题