debugging 如何在python中使用pdb检查对象

xqk2d5yq  于 2023-03-08  发布在  Python
关注(0)|答案(1)|浏览(171)

如何使用pythonspdb检查对象中包含的内容?为了在文件顶部说明,我使用了

from nose.tools import set_trace

那么在我内心的某个地方

set_trace()

result = some_function(request.common[some_argument)

然后使用

nosetests mycode.py

我如何检查变量,以及结果中包含的值。当然,我不想深入研究some_function
谢谢你的回答

mfpqipee

mfpqipee1#

我不熟悉nose.tools,但它似乎至少足以为您启动跟踪和断点,尽管我认为在Python中(至少在2023年)通常会这样导入

import pdb; pdb.set_trace()

直接在代码中的任何地方初始化第一个断点。
一旦你的断点被捕获,你就可以通过命令行与PDB交互了(一旦提示符看起来像(Pdb)),你就可以开始执行命令了。完整的列表可以在官方文档https://docs.python.org/3/library/pdb.html中找到,但是我发现我自己经常使用的是

l - show the surrounding lines of code so you know where you are
ll - show a ton of the surrounding lines of code
n - proceed to the next line
s - enter the function you are currently on with the cursor

如果你想检查一个实际变量,你可以只输入它的名字,所以在你的情况下,你可以只输入

result

pp dir(result)

如果它是一个你想看到其属性的对象,你很可能会得到里面的值!

相关问题