【问题标题】:Strange behavior when debugging Eclipse CDT with Eclipse Debugger使用 Eclipse Debugger 调试 Eclipse CDT 时出现奇怪的行为
【发布时间】:2020-01-19 14:04:32
【问题描述】:

在调试 Eclipse CDT 代码时,我目睹了一个奇怪的行为。我试图用屏幕截图来解释它。我相信不了解CDT的人仍然可以给我这个问题的答案,因为我认为它通常与使用Eclipse(调试)Java代码有关。

您在突出显示的行中看到的IIndexFile file 将有一个值错误的字段,我试图了解该值的来源。

在输入getFile()之前:

getFile() 内部创建了一个新的PDOMFile。调用带有两个参数的构造函数:

在离开构造函数之前不久,我们可以在右侧看到location 为空。这并不奇怪,因为它还没有被设置。

下一张图片显示了让我有点惊讶的第一件事。当离开 PDOMFILE 的构造函数时,我实际上希望调试器告诉我返回值。相反,它说No explicit return value。可能是因为它是一个构造函数,也可能是因为 if 语句。

现在突出显示的行显示配音者从调用 getFile() 回来,但尚未完成对 file 的分配。我们可以看到location 字段仍然为空。

这是我不明白的。为什么location 现在来自文件集?

【问题讨论】:

    标签: java eclipse debugging eclipse-cdt


    【解决方案1】:

    调试器调用toString() 来获取显示在“变量”视图底部窗格中的字符串。 PDOMFile.toString() 调用 getLocation(),它在第一次调用时设置了 location

    【讨论】:

    • 这几乎把我逼疯了。我从来没有想到toString() 设置了变量。
    猜你喜欢
    • 1970-01-01
    • 2011-04-25
    • 2016-07-06
    • 2010-12-07
    • 2015-02-20
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    相关资源
    最近更新 更多