pyCharm调试:跳过框架代码

gue*_*tli 7 debugging pycharm

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

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

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

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

Oli*_*ter 6

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

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

从4.5发行说明:

进入我的代码

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

[...]

忽略库文件

使用新的"忽略库文件"选项改进了调试器.如果在库模块中引发异常,而不是在库代码中停止,则使用它来使调试器停止在代码中.

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

问题跟踪器上有一个未解决的问题.

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

您可能还希望使用条件断点来确保程序在程序处于您希望的状态时完全进入调试器:右键单击断点并输入必须在该上下文中评估为True的条件.线. 条件断点确保当idx具有所需值时执行停止.

  • 它可用作异常断点的选项(在终止时;在引发时;忽略库文件)。见 https://www.jetbrains.com/pycharm/help/breakpoints-2.html (2认同)