pyCharm调试:跳过框架代码

时间:2014-09-30 08:34:53

标签: debugging pycharm

有没有办法告诉pyCharm它应该跳过框架代码?调试器应该跳过所有不属于我的行。

在我的情况下,很容易分辨出我想调试哪些代码而不是:

  • 应跳过virtualenv lib中的代码
  • 应该调试virtualenv src中的代码。

如果按F7(Step Into),它应该跳过所有不是来自我的代码库的行。

1 个答案:

答案 0 :(得分:6)

[2015年5月更新:在PyCharm 4.5中引入]

现在有两个新功能,其中一个是您要求的功能,但我也提到另一个功能,因为它非常接近。

从4.5发行说明:

  

进入我的代码

     

通过告诉调试器只执行项目代码,而不是单步调试库源代码,专注于代码。

[...]

  

忽略库文件

     

使用新的<忽略库文件&#39;改进了调试器。选项。使用它可以让代码在代码中停止,以防在库模块中引发异常,而不是在库代码中停止。

[在调试中了解黑盒子库后更新] 在这个answer中,提到你可以将要忽略的模块添加到/helders/pydev/pydevd.py"中的dict DONT_TRACE中。

the issue tracker上有一个未解决的问题。

[原始回答] 不可能跳过这样的代码,但你可以灵活地在逐行遍历代码之间切换,并通过简单地添加另一个断点在运行的调试会话中进行更大的跳转(同时调试 - 在运行的调试中可以更改断点)会话)在您要跳过的库代码之后的位置,然后按“恢复程序”。在调试器中。跳过库代码,您回到代码中。

您可能还希望使用条件断点来确保程序在程序处于所需状态时完全进入调试器:右键单击断点并输入必须在其中评估为True的条件。那条线的背景。 The conditional breakpoint makes sure that the execution stops when idx has the desired value.