【发布时间】:2014-11-24 19:30:00
【问题描述】:
有没有办法告诉 pyCharm 它应该跳过框架代码?调试器应该跳过所有不是我的行。
在我的情况下,很容易判断我要调试哪些代码,哪些不是:
- virtualenv
lib中的代码应该被跳过 - 应调试 virtualenv
src中的代码。
如果我按 F7(Step Into),它应该会跳过所有不在我的代码库中的行。
【问题讨论】:
-
黑盒的缺乏也让我很恼火。我建议提交功能请求。
有没有办法告诉 pyCharm 它应该跳过框架代码?调试器应该跳过所有不是我的行。
在我的情况下,很容易判断我要调试哪些代码,哪些不是:
lib 中的代码应该被跳过src 中的代码。如果我按 F7(Step Into),它应该会跳过所有不在我的代码库中的行。
【问题讨论】:
[2015 年 5 月更新:在 PyCharm 4.5 中引入]
现在有两个新功能,其中一个是您要求的,但我也提到另一个,因为它在主题上非常接近。
来自 4.5 发行说明:
进入我的代码
告诉调试器只单步执行您的项目代码,而不是单步执行库源代码,从而专注于您的代码。
[...]
忽略库文件
使用新的“忽略库文件”选项改进了调试器。使用它来让调试器在您的代码中停止,以防在库模块中引发异常,而不是在库代码中停止。
[了解调试中的黑盒库后更新] 在这个answer 中提到您可以将要忽略的模块添加到“/helpers/pydev/pydevd.py 中的 dict DONT_TRACE”中
the issue tracker 上有一个未解决的问题。
[原答案] 不可能跳过这样的代码,但是您可以通过简单地添加另一个断点来灵活地在逐行遍历代码和在正在运行的调试会话中进行更大的跳转之间切换(在调试时 - 可以在运行调试中更改断点session) 在要跳过的库代码之后的位置,然后在调试器中按“恢复程序”。库代码被跳过,你回到你的代码中。
您可能还想使用条件断点来确保程序在程序处于您想要的状态时准确地进入调试器:右键单击断点并在该行的上下文。
【讨论】: