在Eclipse中调试时修改静态变量

在Eclipse中调试时修改静态变量,eclipse,debugging,variables,static,Eclipse,Debugging,Variables,Static,作为问题“”的扩展,我希望能够在Eclipse中调试时修改静态变量 例如和局部变量,我可以在Eclipse的“variables”视图中选择变量,并使用上下文菜单“ChangeValue…”来更改值 这对于任意静态变量是不可能的,因为它们不会出现在“变量”视图中 我尝试的是: 如果从“变量”视图的三角形菜单中选择“Java/Show static variables”,则可以查看和修改“variables”视图中列出的变量的静态成员变量。但是,我没有找到如何访问实例未出现在“变量视图”中的类的静

作为问题“”的扩展,我希望能够在Eclipse中调试时修改静态变量

例如和局部变量,我可以在Eclipse的“variables”视图中选择变量,并使用上下文菜单“ChangeValue…”来更改值

这对于任意静态变量是不可能的,因为它们不会出现在“变量”视图中

我尝试的是:

  • 如果从“变量”视图的三角形菜单中选择“Java/Show static variables”,则可以查看和修改“variables”视图中列出的变量的静态成员变量。但是,我没有找到如何访问实例未出现在“变量视图”中的类的静态成员
  • 当然,您可以将静态成员作为表达式输入“表达式视图”(使用完全限定名)。然后可以看到值,但“表达式视图”没有修改值的选项(它允许修改表达式的成员,但不允许修改表达式本身,即使表达式是字段)
  • 那么,如果我有一个像布尔MyClass.disableAllBugs这样的静态变量,有没有办法在调试期间更改MyClass.disableAllBugs


    顺便说一句:我意识到即使是公共可变静态字段(即可变全局变量)也是非常糟糕的风格。但是有些代码库有它,在调试时修改它有时很有用。

    您可以编写一个临时行
    SomeClass.myStaticVar=newValue,选择它,右键单击并“执行”它。

    好把戏。我有时这样做是为了在调试时手动调用方法(例如,对于异常,使用printStackTrace()。但是我并没有在这种情况下想到它。如果它是一个私有静态字段呢?@RAY只是想确认这对私有静态字段也有效。