我对JetBrains IDE(PyCharm,WebStorm,IntelliJ ..)中的调试模式有疑问。假设我在代码中有一行看起来像这样:
.... func1()... func2()... func3()...
在同一行中调用了几个functinos,并且它们都没有分配给变量。现在,我想知道每个函数的返回值是什么。我知道评估表达式的功能,但我不想使用它,因为它可能会再次调用这些函数。
你知道如何找到函数的返回值而不将其值赋给变量并在调试器中检查它的值吗?
答案 0 :(得分:1)
我现在不认为这是可能的,但你可以在函数本身内设置断点。
此外,您可以添加" 禁用,直到选中的断点被击中" +" 再次禁用"并使用您发布的行上方的断点连接它们,以确保它们仅从此行调用。
或者只是重构您的代码:
foobar.huey()
.dewey()
.louie();
并照常设置行断点。
答案 1 :(得分:1)
从PyCharm 2016.2开始,您可以显示函数返回值;要这样做,你需要:
然后,当存在返回值时,您将看到它在“调试”面板的变量部分顶部的返回值下列出(并保留该信息)还在调用函数中)
答案 2 :(得分:0)
我也在寻找这个问题,我可以将您找到的答案链接到您,从而扩展了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“显示方法返回值”
使用调试器在要返回的函数内的某个位置中断 您想看到的价值。
进入功能
退出该功能(或退出直至退出):
退出
观察到返回值出现在变量中:
观察返回值