代码之家  ›  专栏  ›  技术社区  ›  sleske

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

  •  6
  • sleske  · 技术社区  · 15 年前

    作为延伸问题” Modify/view static variables while debugging in Eclipse “,我希望能够在eclipse中调试时修改静态变量。

    例如,对于局部变量,我可以在eclipse的“variables”视图中选择变量,然后使用上下文菜单“change value…”来更改该值。

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

    我试过的:

    1. 如果从“变量”视图中的“三角形”菜单中选择“Java/Stand静态变量”,可以查看和修改“变量视图”中列出的变量的静态成员变量。但是,我没有找到如何访问实例没有出现在“变量视图”中的类的静态成员。
    2. 当然,您可以将静态成员作为表达式输入“表达式视图”(使用完全限定名)。然后您可以看到该值,但是“表达式视图”没有修改该值的选项(它 允许修改表达式的成员,但不允许修改表达式本身,即使表达式是字段)。

    所以,如果我有一个静态变量,比如布尔型myClass.disableAllBugs,那么在调试期间有没有方法更改myClass.disableAllBugs?

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

    1 回复  |  直到 15 年前
        1
  •  6
  •   Bozho    15 年前

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