我正在使用 IntelliJ IDEA 调试程序并看到一个非常奇怪的行为。我将逐行浏览下面的 init() 方法。在变量 View 中,首先显示 A_DIR = null
和 A_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/