java - 变量从 IntelliJ 调试变量 View 中消失

标签 java intellij-idea

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

但是一旦我通过了设置 A_DATASET 的第二行(以便调试器现在位于 String abc = "xyz" 行),A_DATASET = myfile.csv code> 按预期突出显示,但 A_DIR 行已消失!它不再在调试 View 中显示 A_DIR 变量的值!

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

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

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);
        }
    }
}

最佳答案

变量 View 显示 IntelliJ IDEA 认为与当前上下文最相关的变量子集。如果变量从 View 中消失,并不意味着它已被取消设置,也不意味着与代码逻辑有关的任何其他内容;这只是 IntelliJ 试图做到上下文敏感。

如果您无论如何都想查看变量的值,可以按“New Watch”按钮并输入变量名称;那么它将始终可见。

关于java - 变量从 IntelliJ 调试变量 View 中消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49138216/

相关文章:

java - 可中断的 for 循环

java - 无法访问资源文件夹中的文件

java - 如何确定哪个测试挂起?

java - IntelliJ IDEA 合约返回值不为空

java - 运行 jar 时无法确定数据库类型 NONE 的嵌入式数据库驱动程序类

android - 无法在 Intellij 中调试 android 应用程序 : "Warning: debug info can be unavailable."

java - maven : Failed to install metadata project Could not parse metadata maven-metadata-local. xml:开始标记之前只允许空白内容

Java 8 Base64 JWT token 转换为 JSON

java - 如何遍历 TreeMap?

java - 如何使用NNLS进行非负多元线性回归?