在Eclipse中调试(Java); 在破坏查看值时不能将鼠标hover在变量上

我正在使用Eclipse来编写Java(用于Android),我试图像往常一样调试代码(我通常会做C#)。

据我所知,Eclipse中的调试真的很糟糕。 我不知道我做错了什么,但似乎很糟糕。

这是正在运行的代码,我得到某种exception,我想通过打破“catch”-clause并查看变量“e”来查看exception是什么:

try { ConnectivityManager connectivityManager = (ConnectivityManager) this.getSystemService( Context.CONNECTIVITY_SERVICE ); NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo(); NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); NetworkInfo.State state = mobNetInfo.getState(); } catch(Exception e) { Log.v("MyAp", e.toString()); // I break on this line, and want to see what e is } 

问题是我不能通过将鼠标放在它上面来看到“e”(就像我在我心爱的Visual Studio中一样)。

现在,我知道我可以调出“Variables”选项卡,其中列出了可以从我打破时可以访问的所有变量,但这有点太糟糕了。

就这样我知道 – Eclipse没有办法“hover”你感兴趣的变量,就像在Visual Studio中一样?


编辑1:谢谢你的回答。 但是,仍然有同样的问题=(

据我所知,您必须处于Debug视图中才能将鼠标hover在对象上并查看其属性。 至少这就是我的Eclipse 3.4副本的工作方式。

当然,您还需要在Debug视图中进行Step Into,Step Over,Continues等按钮……

转到Preferences-> Java-> Editor-> Hovers并勾选’Variable Values’框。 如果您希望Hover自动发生,请将Key Modifier部分留空。

Eclipse中似乎存在与此相关的错误:

所以,是的它应该可以工作,但并不总是如此。 我在某些课上遇到了这个问题。 它似乎是一致的,哪些类有效,哪些没有,可能与该类来自哪些jar等有关,但我没有真正的线索是什么导致它。 很想看到一些复制场景。

您还可以突出显示变量,右键单击,然后选择观看它。 然后它会显示在手表标签上。 您还可以设置触发exception抛出的自动断点,而不是特定的代码行。 在最近的Eclipse版本中, 没有 ‘hover’选项可以像在Visual Studio中一样查看变量。

这看起来有点奇怪,但你知道代码窗口有焦点吗? 我观察到有时工具提示的外观取决于视图是否具有焦点(我猜这是一个SWT错误)。

我还发现在“调试”视图(带有绿色小bug作为图标的选项卡)中显示所有线程,如果未选中当前的断点线程,Eclipse有时不会显示变量的值。

如果其他人遇到此问题,那么您可能遇到了断点,但当前运行的线程不是“调试”窗口中突出显示的线程。

转到Preferences – > Java – > Editor – > Hovers ,然后单击Restore Defaults

找到它,转到:首选项> Java>编辑器> Hovers – Javadoc(点击它并从那里删除ctrl + shift键),然后它应该正常工作。