草庐IT

DEBUGGING

全部标签

python - 调试方法返回 None

我有一个很大的遗留Python方法,其中包含大约二十个return声明。该方法不应返回None但它确实如此。它在简单的测试用例中是可重复的。到目前为止,我使用调试器并逐行调试代码以找到匹配的返回语句。但是有没有更简单的方法呢?有没有办法在方法返回None时立即引发异常?当然,我需要查看包含返回语句的行。例子:defbig_method(arg1,some_var):#....manyreturnsifarg1:returnsome_var#上面是一个简单的代码片段。结果:Traceback(mostrecentcalllast):File"/home/modwork_vums_d/sr

python - 如何反汇编 Python 脚本?

今天早些时候,我askedaquestion关于Python处理某些类型循环的方式。其中一个答案包含我的示例的反汇编版本。我想知道更多。如何反汇编我自己的Python代码? 最佳答案 查看dis模块:defmyfunc(alist):returnlen(alist)>>>dis.dis(myfunc)20LOAD_GLOBAL0(len)3LOAD_FAST0(alist)6CALL_FUNCTION19RETURN_VALUE 关于python-如何反汇编Python脚本?,我们在St

python - 获取对当前异常的引用

$./runtests.py-vtests/managers/test_customer.py:CustomerManagerTest.test_register_without_subscription--ipdb...test_register_without_subscription(tests.managers.test_customer.CustomerManagerTest)...-TRACEBACK--------------------------------------------------------------------Traceback(mostrecent

python - 在 VS Code 中漂亮地打印 pandas 数据框

我想知道是否可以在调试时(第一张图片)在VSCode中显示Pandas数据框,因为它在PyCharm中显示(第二张图片)?感谢您的帮助。df在vscode中打印:df在pycharm中打印: 最佳答案 截至January2021release在python扩展中,您现在可以在调试nativepython程序时使用内置数据查看器查看pandas数据帧。当程序在断点处暂停时,右键单击变量列表中的数据框变量并选择“在数据查看器中查看值” 关于python-在VSCode中漂亮地打印pandas

python - 启用覆盖时如何在 PyCharm 中调试 py.test

启用覆盖后如何在PyCharm中调试py.test?使用--cov=project--cov-report=term-missing启用覆盖,删除它并命中断点。版本:pycharm5.0.3,pytest==2.8.5,pytest-cache==1.0,pytest-cov==2.2.0,pytest-pep8==1.0.6,pytest-xdist==1.13.1,python-coveralls==2.6.0.(感谢jon对进一步诊断问题的建议) 最佳答案 现在有一个flaginpy.test禁用从PyCharm运行测试时可以

python - 在 Python 中有条件地评估调试语句

Python有几种打印“trace”输出的方法。print、importlogging、stdout.write都可以用来打印调试信息,但它们都有一个缺点:即使logger的阈值是太高或流已关闭,Python仍将评估print语句的参数。(严格评估)这可能会花费字符串格式或更多。明显的解决方法是将字符串创建代码放入lambda中,并使用我们自己的日志记录函数有条件地调用lambda(这个检查__debug__内置变量,它被设置为False每当python以-O启动以进行优化时):defdebug(f):if__debug__:printf()#stdout.write(f())#log

python - 我可以让 Python 调试器 pdb 输出颜色吗?

我经常使用PDB,如果我能添加颜色的systax突出显示,它似乎会更好。理想情况下,我希望代码的路径具有较浅的颜色。实际代码行将语法突出显示。我使用的是OSX和终端应用程序。Python2.7 最佳答案 pdb不支持着色。然而,获得它并不难,即使您是命令行迷(就像我一样;-)——您不必为了在调试Python时获得着色而切换到GUI/IDE。特别是,当您通过SSH访问远程计算机时,命令行工具通常好得多,可以节省大量带宽和任何远程访问GUI和IDE可能给您带来的延迟问题;-).具体来说,对于您要询问的任务,请考虑ipdb(您还需要ipy

python - 在 Python 中调试 : Show last N executed lines

我很想看看在这个异常发生之前python解释器执行的最后10行:test_has_perm_in_foobar.pyFTraceback(mostrecentcalllast):File"/.../test_has_perm_in_foobar.py",line50,intest_has_permself.assertFalse(check_perm(request,some_object))File"/usr/lib/python2.7/unittest/case.py",line416,inassertFalseraiseself.failureException(msg)Asse

python - 使用 pdb 调试 python 时如何更改值?

我想运行pdb,逐步执行代码,并在某个时候更改某个名称指向的值。所以我可能想更改名称“stationLat”指向的值。但是我好像做不到。这是示例:>>>importextractPercentiles>>>importpdb>>>pdb.run("extractPercentiles.extractOneStation()")>(1)()->None(Pdb)s--Call-->/scratch/extractPercentiles.py(96)extractOneStation()->defextractOneStation():(Pdb)tbreak132Breakpoint3at

python - 使用 pdb 调试 python 时如何更改值?

我想运行pdb,逐步执行代码,并在某个时候更改某个名称指向的值。所以我可能想更改名称“stationLat”指向的值。但是我好像做不到。这是示例:>>>importextractPercentiles>>>importpdb>>>pdb.run("extractPercentiles.extractOneStation()")>(1)()->None(Pdb)s--Call-->/scratch/extractPercentiles.py(96)extractOneStation()->defextractOneStation():(Pdb)tbreak132Breakpoint3at