变量远离IntelliJ调试变量视图

问题描述 投票:0回答:1

我正在使用IntelliJ IDEA调试程序并看到一个非常奇怪的行为。我将通过下面的init()方法逐行进行。在变量视图中,首先它表示A_DIR = nullA_DATASET = null。一旦我通过设置A_DIR的行,它会在视图中突出显示A_DIR = 'my/dir'。到目前为止一切都如预期。

但是一旦我通过设置A_DATASET的第二行(这样调试器现在就在String abc = "xyz"线上),A_DATASET = myfile.csv会按预期突出显示,但是A_DIR的线已经消失了!它不再在调试视图中显示A_DIR变量的值!

现在没有理由将变量取消设置,但IntelliJ因某种原因决定隐藏变量。

变量是A_DIR在源代码视图中显示为灰色,因为它从未使用过。这可能是隐藏它的原因吗?

public class MyClass {
    private static String A_DIR;
    private static String A_DATASET;

    public MyClass() {
        init();
    }

    private void init() {
        try {
            propertyFinder = MyOtherClass.getPropertyFinder();
            A_DIR = propertyFinder.getTheDirectory();
            A_DATASET = propertyFinder.getTheDataSet();
            String abc = "xyz";
        }
         catch (IOException ieo) {
            log.error(ieo.getMessage(), ieo);
        }
    }
}
java intellij-idea
1个回答
2
投票

“变量”视图显示IntelliJ IDEA认为与当前上下文最相关的变量子集。如果变量从视图中消失,则并不意味着它已经变得未设置,或者其他任何与代码逻辑有关的变量;它只是IntelliJ试图对上下文敏感。

如果您想要查看变量的值,可以按“New Watch”按钮并输入变量名称;然后它将始终可见。

© www.soinside.com 2019 - 2024. All rights reserved.