有谁知道如何防止调试器输入外部代码?
是的,Dmitry Trofimov 知道 ;
(...)添加你不想跟踪到dict的模块
DONT_TRACE
.<pycharm-distr>/helpers/pydev/pydevd.py
这是一个hacky解决方案(...)
如果你希望这个功能不那么hacky你可以通过访问问题PY-9101对它进行投票
实现Python调试器的"不要进入类"选项
使用pdb的人可能有兴趣知道pdb中有这样的功能;
从Python 3.1开始,Pdb
类有一个名为的新参数skip
-
class pdb.Pdb(completekey='tab', stdin=None, stdout=None, skip=None, nosigint=False)
如果给出skip参数,则必须是可遍历的glob样式模块名称模式.调试器不会进入源自与这些模式之一匹配的模块的帧.1
1帧是否被认为是源自某个模块,由
__name__
帧全局变量决定.
文档中给出的示例显示了如何跳过Django的包 -
import pdb; pdb.Pdb(skip=['django.*']).set_trace()
对于调试器来说,一切看起来都一样,它无法区分你的代码或 Django 的代码 \xe2\x80\x93 它都是 Python。所以它会运行所有的东西,但是如果你想阻止它向下钻取那么低,你必须开始 \xe2\x80\x9cstepping over\xe2\x80\x9d 行代码而不是 \xe2\x80\x9cstepping into \xe2\x80\x9d 他们。
\n\n根据PyCharm 文档,F8
当您看到一行代码看起来可能是进入 Django 内部的网关时,您就会想要使用它。如果你不小心发现自己进入了 Django 的源代码,你可以一直点击Shift+F8
直到退出。
归档时间: |
|
查看次数: |
5040 次 |
最近记录: |