在 Python 调试器 (pdb) 中,我想跳过一个 yield 语句,但是点击 (n) for next 会将我带到 yield 的目的地,即生成器的使用者。我想转到生成器中执行的下一行。有没有办法做到这一点?
我正在使用 Python 2.6
在调试器中,在这种情况下,通常您希望“步进”(s) 进入函数,而不是“下一步”(n)。
"Next" 在你正在查看的范围内执行下一行;“step”将您带入下一个范围,在这种情况下为生成器,这听起来像是您想要做的。
如果您的调试器允许您在此处使用断点并更改变量值,那么它就像 [在伪代码中] 一样简单
Set Boolean yieldValue to true;
[breakpoint after that line is executed, you can set yieldValue to false here]
if yieldValue, yield value;
in other words:
bool yieldValue = true;
[breakpoint here]
if(yieldValue) yield value;
请注意,您通常不能在空行上放置断点。不过,您必须在 if 语句之前粘贴它。