如果我使用调试器,大多数时候我只想看看解释器在我的代码中做了什么。我想跳过我使用的框架和库的所有代码。
AFAIK,这叫黑拳。
如何使用Python或其他Python调试器完成此操作?
想象一下:
我使用我信任的orm框架,不想调试。
cut_hair_method(orm_object.user)方法cut_hair_method()是我的,我想调试它。
orm_object来自我使用的框架。调试器将进入orm代码,并做一些我不关心的特殊事情。我无法告诉调试器:不要跳入orm代码!
更新
就我的情况而言,很容易决定哪些代码应该在黑匣子中,哪些代码不应该:$VIRTUAL_ENV/src/中的代码不在黑匣子中,所有其他代码都是黑匣子。但我明确地告诉调试器一些其他的事情。
Update2
我有这篇文章的名字“黑拳击”:https://hacks.mozilla.org/2013/08/new-features-of-firefox-developer-tools-episode-25/
发布于 2014-12-20 15:05:33
Python调试器基类(bdb.Bdb)有一个.skip属性,给出了要跳过的模块名称列表。您可以在实例化调试器时或以后提供此列表。如果您想提供一个负面列表(属于您自己的模块列表),或者以其他方式计算是否应该跳过某个模块,则可以对调试器类进行子类并重写is_skipped_module。
发布于 2015-05-19 08:05:17
自从PyCharm版本4.5以来,有一个名为“逐步进入我的代码”的特性:https://www.jetbrains.com/pycharm/whatsnew/#StepIntoCode
它起作用了。我只想进入我的代码(Django应用程序),而不是django本身的代码。默认的捷径是复杂的(alt-shift-F7),但很容易改变它。
https://stackoverflow.com/questions/27418473
复制相似问题