在调试 Eclipse CDT 代码时,我目睹了一个奇怪的行为。我尝试用屏幕截图来解释它。我相信不了解 CDT 的人仍然可以给我回答这个问题,因为我认为它通常与使用 Eclipse(调试)Java 代码有关。
您在突出显示的行中看到的 IIndexFile 文件
将有一个带有错误值的字段,我尝试了解该值的来源。
在输入getFile()
之前:
在getFile()
内部创建了一个新的PDOMFile
。调用带有两个参数的构造函数:
在离开构造函数之前不久,我们可以在右侧看到 location
为 null。这并不奇怪,因为它还没有确定。
下一张图片显示了让我有点惊讶的第一件事。当离开 PDOMFILE 的构造函数时,我实际上希望调试器告诉我返回值。相反,它显示没有显式返回值
。也许是因为它是一个构造函数,或者可能是因为 if 语句。
现在突出显示的行显示配音器已从调用 getFile()
中返回,但对 file
的分配尚未完成。我们可以看到 location
字段仍然为空。
这就是我不明白的地方。为什么现在设置文件中的location
?
最佳答案
调试器调用toString()
来获取“变量” View 底部 Pane 中显示的字符串。 PDOMFile.toString()
调用 getLocation()
,在第一次调用时设置 location
。
关于java - 使用 Eclipse 调试器调试 Eclipse CDT 时出现奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57995738/