21得票4回答
Python PDB自动漂亮打印

我发现自己在pdb中经常这样做:import pprint pprint.PrettyPrinter().pprint(variable_of_interest) 有没有更好的方法来从pdb中美化打印变量?我正在寻找一些更容易输入的东西,最好是随时可以在pdb中使用的内容,这样我就可以在调试任...

20得票7回答
如何让pdb在不同运行期间识别源代码的更改?

据我所知,pdb在“运行”之间无法识别源代码是否已更改。也就是说,如果我正在调试中,发现了一个 bug,修复了该 bug 并在 pdb 中重新运行程序(即不退出 pdb),pdb 将不会重新编译代码。尽管 pdb 列出了新的源代码,但我仍然在调试旧版本的代码。 那么,pdb是否会随着源代码的...

19得票2回答
使用ipdb替代pdb,并在py.test --pdb选项中使用

我想使用 ipdb 替代 pdb,并在 py.test --pdb 选项中使用。这可行吗?如果可以,如何实现? 很明显,我可以在代码中使用 import ipdb; ipdb.set_trace(),但这需要运行测试,观察它失败,打开一个文件,在该文件中找到失败点,编写上述代码,然后重新运行...

19得票5回答
我能否让Python调试器pdb输出颜色?

我经常使用PDB,如果能添加彩色语法高亮,它将更加完美。 理想情况下,我希望代码路径呈现浅色。 实际代码行应该被语法高亮。 我正在使用OS X和Terminal应用程序。Python 2.7

19得票1回答
奇怪的IPython ipdb行为

我遇到了一些非常奇怪的行为,我不明白其中的原因,因此无法解释。我希望有人能在这里帮助我。我注意到的第一件事是ipdb不再允许我定义变量:ipdb> what=5 ipdb> what *** NameError: name 'what' is not defined whatels...

19得票1回答
如何在库模块(pdb)中设置断点

我正在调试一个Python脚本,其中sys.path如下:sys.path = ['','home/my_library', ..] 我在使用pdb时,无法在my_library模块中设置断点。脚本使用以下代码导入库:import my_library as foo 接着,my_library...

19得票6回答
如何在Python中监视变量更改,无需使用dunder setattr或pdb

有一个大型 Python 项目,其中某个类的一个属性在某些地方只是有错误的值。 它应该是 sqlalchemy.orm.attributes.InstrumentedAttribute,但当我运行测试时,它是一个常量值,比如字符串。 有没有一种方法可以在调试模式下运行 Python 程序,...

18得票3回答
PyCharm:如何在ipython交互式控制台中进行事后调试?

我刚开始使用不错的PyCharm社区版IDE,但是我无法做一个在我的常规Python工作流程中的简单事情。我已经启动了一个ipython控制台,可以导入我的模块并交互式运行命令。在PyCharm中执行函数调用时,它会像在单独的进程中运行一样执行。即使在执行完成之前,控制台提示符也可以使用。这很...

18得票2回答
如何在使用pdb进行Python调试时更改值?

我想运行pdb,逐步执行代码,并在某些时候更改某个名称所指向的值。因此,我可能想要更改名称“stationLat”指向的值。但似乎我不能这样做。以下是示例:>>> import extractPercentiles >>> import pdb >&g...

18得票3回答
使用pdb调试Flask

我正在尝试使用pdb调试Flask应用程序。 设置断点很容易;我只需使用b index来在调用index()时中断,或者b 44在第44行设置断点。 断点与b 44(main函数的开头)一起工作得很好,但b index不起作用。 在命令行中,打印"Index is called"以指示该方法...