【问题标题】:JetBrains: How to watch the return value of a function?JetBrains:如何查看函数的返回值?
【发布时间】:2016-07-25 11:15:40
【问题描述】:

我对 JetBrains IDE(PyCharm、WebStorm、IntelliJ ..)中的调试模式有疑问。假设我在代码中有一行如下所示:

....func1()...func2()...func3()...

在同一行中调用了多个函数,并且没有一个函数被分配给变量。现在,我想知道每个函数的返回值是多少。我知道 Evaluate Expression 特性,但我不想使用它,因为它可能会再次调用这些函数。

您知道有什么方法可以找到函数的返回值,而无需将其值分配给变量并在调试器中检查其值吗?

【问题讨论】:

  • 调试器显示自 PyCharm 2016.2 以来的函数返回值

标签: intellij-idea pycharm webstorm jetbrains-ide


【解决方案1】:

从 PyCharm 2016.2 开始,您可以显示函数返回值;为此,您需要:

  • 单击“调试”面板左侧工具栏中的设置齿轮图标
  • 确保选中显示返回值

然后,当存在返回值时,您将看到它列在调试面板 变量 部分顶部的 返回值 下(并且该信息被保留仍在调用函数中)

【讨论】:

  • 这是正确答案。
【解决方案2】:

我认为现在不可能,但您可以在函数本身内设置断点。

此外,您可以添加一个“禁用直到选中的断点被命中”+“再次禁用”并在您发布的行上方加入一个断点以确保它们仅从该行调用。

或者只是重构你的代码:

foobar.huey()
.dewey()
.louie();

并像往常一样设置行断点。

【讨论】:

    【解决方案3】:

    我也在寻找这个,我可以将我找到的答案链接到您,扩展 David Fraser 的答案:在 IntelliJ 中,有人用屏幕截图回复了同一站点中的类似问题: java - Can I find out the return value before returning while debugging in Intellij 记得在函数里面放一个断点然后跳出:)

    正如用户Birchlabs 所说的那样(虽然它包括屏幕截图,但比这要好得多):

    在 IntelliJ IDEA 2016.3 上:它隐藏在 调试面板。确保选中显示方法返回值。

    IntelliJ IDEA 2016.3“显示方法返回值”

    使用调试器在返回的函数内部的某处中断 您希望看到的价值。

    进入函数

    退出函数(或跳过直到你逃脱):

    走出去

    观察返回值出现在你的变量中:

    观察返回值

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多