【Python程序如何高效地调试?】教程文章相关的互联网学习教程文章

Python调试,停止在特定输出【代码】

我有复杂的python项目,有很多模块,记录器,扭曲的deferreds和其他东西. 在代码的某处,某些行打印到日志中,我想知道在哪里.通常我只是在代码库中搜索该字符串,但现在该字符串是动态生成的,因此无法搜索. 如果有任何方法在某些调试模式下运行python,并且在某些模式将出现在sdout中时告诉它停止,然后在代码中打印位置停止,我就会徘徊?解决方法:如何替换sys.stdout? 例如:import sys import tracebackclass StacktraceOnPrint:def __...

当我在Visual Studio Code中调试python代码时,为什么会有这么多不正确的下划线【代码】

我已经在VSCode中编写了我的python代码,并在Ubuntu上使用名为’python’的python扩展了很多天.这非常好. 但是,今天我遇到了一些问题,如图所示: 我已经编写了正确的代码,可以正常运行(用于调试和通过终端运行).但是有许多绿色下划线和一些红色下划线提供了许多提示: 绿色下划线:C0326:No space allowed before bracket (pylint) W0621:Redefining name ‘img’ from outer scope (line 60) (pylint) C0103:Invalid variable ...

调试CGI python【代码】

除了每次浏览器生成错误时查看日志文件之外,有没有简单的方法来调试cgi python程序?解决方法:您可以使用cgitb模块.这很简单import cgitb cgitb.enable()它并不总是有效(例如,它不会帮助您解决权限错误或某些其他类型的错误),但是当它发生时它非常有用!

python – 使用PyCharm调试扭曲的应用程序【代码】

我正在争取几个小时试图配置PyCharm来调试我的应用程序.我一直在寻找解决方案,但扭曲似乎并不那么受欢迎,而且支撑力度很弱.下面我把我得到的错误日志./usr/local/bin/python3.4m -u /Applications/PyCharm CE.app/Contents/helpers/pydev/pydev_run_in_console.py 57276 57277 /usr/bin/twistd -y /Users/artur/projs/private/elanga-web/start_app.tac Running /usr/bin/twistd PyDev console: starting. Traceback (most recent ...

Python 3 学习笔记:异常代码调试【代码】

什么是异常 程序运行过程中,产生的错误统称为异常(bug)。这些异常有的可能是语法错误,如关键字输入错误、调用错误等,这一类的异常都是显式的,很好发现;还有一种就是隐式的错误,只用在使用时才会被发现,和使用者的操作有关。 下面介绍一下 Python 常见的异常提示: 异常类型.jpg 异常处理语句 try … except …在使用时,将可能产生异常的代码放在 try 语句中,把处理结果放在 except 语句中,这样,当 try 后面的代码发生...

python调试工具--pysnooper

安装 pip3 install pysnooper 使用 import pyspooner 在要调用的函数前加上 @pysnooper.snoop() PySnooper还提供了参数prefix给debug信息添加前缀的方式便于识别 @pysnooper.snoop(prefix="funcTwo ") 上述结果输出到控制台,还可以把日志输出到文件 @pysnooper.snoop("debug.log")

Qtcreator远程调试出现“The selected build of GDB does not support Python scripting.It cannot be used ..&quo

? 之前使用的是Qt4.7后来换成了Qt5.x,Qtcreator的版本使用4.0,使用中发现Qtcreator远程调试出现“The selected build of GDB does not support Python scripting.It cannot be used in Qt Creator.” 意思是gdb不支持Python脚本不能再Qtcreator中使用。有问题问度娘找了半天终于发现一个能解决问题的分享一下: sudo apt-get install gdb-multiarch 安装这个gdb工具。然后Qtcreator中Tools-->Options-->Build & Ru...

python – pydev importerror:没有名为thread的模块,pydev升级后调试不再有效【代码】

我的Eclipse 3.6 / PyDev设置只是将pydev升级到1.6.0.2010071813并且调试不再有效.我的默认python解释器是3.1虽然我怀疑这很重要.在pydev的Eclipse升级之前,它运行得非常好.解决方法:这已经在当前的夜间修复(1.6.1).有关获取它的详细信息,请参阅:http://pydev.org/download.html. 请注意,您只需在本地更改“导入线程”(在org.python.pydev.debug / pysrc / pydevd.py中):try: import thread except ImportError:import _thre...

如何使用带有Enthought Canopy Distribution的Visual Studio混合模式调试器的Python工具?

我使用Enthought Canopy作为我的python发行版,因为它适用于科学计算.但是,我在Visual Studio中使用pytools作为我的IDE主要是因为它与Windows的其他IDE相比具有出色的调试性能. 从版本2.0开始,pytools提供了一个本机C调试器(mixed mode debugger或MMD),这对于使用cython或包含一些本机C代码时的调试非常有用,并且也应该比标准调试器快得多,这使得它可行调试计算成本高昂的代码,否则在调试启用时运行速度太慢. 不幸的是,pytools MMD ...

Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用

Python中str()与repr()函数的区别 from:https://www.jianshu.com/p/2a41315ca47e在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即 str()或者 repr() 。 >>> a = 10 >>> type(str(a)) <class 'str'> >>> type(repr(a)) <class 'str'>但是这二者之间有什么区别呢?因为提供两个功能完全相同的内建函数是没有意义的。先看一个例子。 >>> print(str('123')) 123 >>> print(...

python调试点相当于Perl $DB :: single = 1【代码】

我是一名学习Python的Perl程序员.我正在使用Python 2.7.3使用python -m pdb script.py在emacs调试中编写代码. 我想知道在Perl中添加$DB :: single = 1; 1;等效的python是什么.到一个特定的python代码行,这样当运行调试器时,它将停在那里,即使它是执行开始的不同源代码文件(例如,script.py使用的库中的一行代码). 有任何想法吗? 编辑:在查看pdb.set_trace()或ipdb.set_trace()之后,我认为它们是很好的解决方案,但与$DB :: single ...

当你调试它们并完成时,你如何避免在python开源应用程序中留下调试器print / pdb语句?【代码】

有时在使用开源软件开发时,您需要阅读它的源代码(特别是zope / plone).很多时候我需要编写print语句,调试调用(import pdb)或注释try / except子句,你可以命名它. 有时我在尝试查找问题时打开了很多文件,有时我忘记删除这些打印/调试更改. 所以,我的问题是:做这件事时你如何保持自己的组织?您是否在修改后编写“TODO”并在以后搜索它们,是否在编辑器中保存所有内容,当您找到所需内容时,只需还原文件(当您搜索时,此方法无用)一个非...

python -- 程序异常与调试(识别异常)【代码】【图】

一、识别异常 程序中出现的错误又称为异常。异常通常分为两大类:编译错误和运行错误。如下源码是已经修改: # -----------------------------------------# 编程中的一些常见错误# -----------------------------------------# import pandas# 除数为0x = 100y = 10z = x / y# 索引值超出范围score = (100, 200, 300, 400)print(score[3])# 修改不可变对象 - 字符串为不可变对象city = "Guangzhou"print(city[2])# city[2] = bcit...

python -- 程序异常与调试(异常处理)【代码】【图】

一、异常处理 针对在运行时可能会出错的语句块,可以提前设计好出现问题后的解决方案, 或者给出相应的提示信息。使用try…except语句来处理Python抛出的异常: # -----------------------------------------# 异常捕获# -----------------------------------------# 在except语句中使用pass语句,忽略发生的异常list1 = [100, 200, 三百, 四百, 500]total = 0for e in list1: try: total = total + int(e) except: ...

python pdb调试

原文链接:http://www.cnblogs.com/yansjhere/p/3789262.htmlpython -m pdb myscript.py #注意这会重启myscript.py可以在程序中这么设置断点:import pdb; pdb.set_trace()可以修改变量的值,但是要注意,前面加上!比如要修改final的值,应该这样!final="newvalue"支持的命令: p 打印变量 n next step 细点运行 c continue l list a args 打印当前函数的参数 condition bpnumber [condition] clear/disa...

调试 - 相关标签