debugpython
‘壹’ 如何调试python lib中的代码
pdb 是 Python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等。
‘贰’ 如何调试python死循环
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import time
import thread
<a href="https://www..com/s?wd=LOCK&tn=44039180_cpr&fenlei=-N1IA-EUBtkn101P1RLrjc3P1RsPjc3rjb4" target="_blank"class="-highlight">LOCK</a> = True
def timer(no, interval):
while <a href="https://www..com/s?wd=LOCK&tn=44039180_cpr&fenlei=-N1IA-EUBtkn101P1RLrjc3P1RsPjc3rjb4" target="_blank" class="-highlight">LOCK</a>:
print 'y'
def test():
thread.start_new_thread(timer, (1, 1))
time.sleep(5)
global <a href="https://www..com/s?wd=LOCK&tn=44039180_cpr&fenlei=-N1IA-EUBtkn101P1RLrjc3P1RsPjc3rjb4" target="_blank" class="-highlight">LOCK</a>
LOCK = False
time.sleep(5)
if __name__ == '__main__':
test()
可以使用全局变量的,因为线程是共用上下文变量的。
如果解决了您的问题请采纳!
如果未解决请继续追问
‘叁’ 如何远程调试Python代码
用 pdb 进行调试 pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,
‘肆’ 调试python,我找不到哪里出错了
第7行,[ 打错了,你打的全角[
s=s+'x['+a[i]+']'
‘伍’ 调试python代码的方法有哪些
本文讨论在没有方便的IDE工具可用的情况下,使用pdb调试python程序
源码例子
例如,有模拟税收计算的程序:
#!/usr/bin/python
def debug_demo(val):
if val <= 1600 :
print "level 1"
print 0
elif val <= 3500 :
print "level 2"
print (val - 1600) * 0.05
elif val <= 6500 :
print "level 3"
print (val - 3500) * 0.10 + (3500-1600) * 0.05
else:
print "level 4"
print (val - 6500) * 0.20 + (6500-3500) * 0.10 + (3500-1600) * 0.05
#~def debug_demo
if __name__ == "__main__":
debug_demo(4500)
debug_demo函数计算4500的入账所需的税收。
如何调试?
1.加入断点
在需要插入断点的地方,加入红色部分代码:如果_DEBUG值为True,则在该处开始调试(加入_DEBUG的原因是为了方便打开/关闭调试)。
#!/usr/bin/python
_DEBUG=True
def debug_demo(val):
if _DEBUG == True:
import pdb
pdb.set_trace()
if val <= 1600 :
print "level 1"
print 0
elif val <= 3500 :
print "level 2"
print (val - 1600) * 0.05
elif val <= 6500 :
print "level 3"
print (val - 3500) * 0.10 + (3500-1600) * 0.05
else:
print "level 4"
print (val - 6500) * 0.20 + (6500-3500) * 0.10 + (3500-1600) * 0.05
#~def debug_demo
if __name__ == "__main__":
debug_demo(4500)
2.开始运行调试
运行程序./debug_demo.py,得到
> /usr/local/qspace/user_network/debug_demo.py(7)debug_demo()
-> if val <= 1600 :
(Pdb)
-> val <= 1600 : 指示当前执行的语句,(Pdb)等待你的调试指令. pdb的指令很丰富,输入h指令可以查看指令的使用方法。下面简单介绍常用指令:
查看代码上下文,l(小写L)
(Pdb) l
2 _DEBUG=True
3 def debug_demo(val):
4 if _DEBUG == True:
5 import pdb
6 pdb.set_trace()
7 -> if val <= 1600 :
8 print "level 1"
9 print 0
10 elif val <= 3500 :
11 print "level 2"
12 print (val - 1600) * 0.05
(Pdb)
左边是行号,右边是代码正文。
监视变量:p 变量名
(Pdb) p val
4500
(Pdb)
单步执行: n
-> elif val <= 3500 :
(Pdb) l
5 import pdb
6 pdb.set_trace()
7 if val <= 1600 :
8 print "level 1"
9 print 0
10 -> elif val <= 3500 :
11 print "level 2"
12 print (val - 1600) * 0.05
13 elif val <= 6500 :
14 print "level 3"
15 print (val - 3500) * 0.10 + (3500-1600) * 0.05
加入断点:b 行号
(Pdb) b 14
运行到断点: c
(Pdb) c
> /*****
-> print "level 3"
(Pdb) l
9 print 0
10 elif val <= 3500 :
11 print "level 2"
12 print (val - 1600) * 0.05
13 elif val <= 6500 :
14 B-> print "level 3"
15 print (val - 3500) * 0.10 + (3500-1600) * 0.05
16 else:
17 print "level 4"
18 print (val - 6500) * 0.20 + (6500-3500) * 0.10 + (3500-1600) * 0.05
19
执行到函数返回前: r
(Pdb) r
level 3
195.0
--Return--
> /****()
->None
-> print (val - 3500) * 0.10 + (3500-1600) * 0.05
(Pdb)
说明:
pdb还有很多其他很多有用的指令,读者可以自行探索。输入h,h 命令。就可以得到命令的详细帮助。
不过,我个人认为一般无需启动这种调试方法,一般使用日志输出进行调试即可,除非遇到了非常微妙的错误。这时,单步调试的威力便显示出来了
‘陆’ 如何调试python脚本,使用python自带工具
1, 首先下载并安装Python 2.7
2, 写一个简单地Python源文件,比如test.py,内容如下:
import sys, os
def test(arg1, arg2):
print "begin test..."
fun1('1', '2')
print arg1
print arg2
def fun1(arg1, arg2):
print arg1
print arg2
if __name__ == '__main__':
test(*sys.argv[1:])
3, 右键test.py->Edit with IDLE进入IDLE界面,Run->Run Mole打开Python Shell窗口,点击Debug->Debugger,就打开Debug Control界面,你也将会在Python Shell窗口看到如下显示信息:
[DEBUG ON]
4, 开始调试
4.1,在Python Shell输入如下测试行:
>>> test('3', '4')
4.2,在 fun1('1', '2')或者任意你想要查看的地方设置断点(在IDLE界面里右键->set breakpoint).
4.3,回到Python Shell界面按回车,你将看到在debug control窗口里显示test.py的第一行。
4.4,按Go按钮,将定位到test.py你刚才设置断点的地方.
4.5,按Step或者Over进行调试(Step与Over的区别在于:Step将进入到函数内部进行调试,Over是指不进入到函数内部进行调试,而是直接执行完这个函数).
4.6,你将看到在Python Shell窗口里分步看到打印的内容如下:
[DEBUG ON]
>>> test('3', '4')
begin test...
1
2
3
4
[DEBUG ON]
>>>
‘柒’ python debug怎么用
DEBU是调试版本,可以说是系统还在开发中Release是发布版本,说明系统可以给用户使用了 主要区别是在于运行时产生的信息不同,以及运行的性能不同
‘捌’ 如何进行Python 调试器调试
本文首先介绍一下
Python 调试器
的历史,总结了Python的强大之处和不足并且指出了与其他脚本语言,相比,以及Python语言与其他语言的优势所在,下面进行学习介绍说明。
PyDev 就能显示出一个超链接,这样您可以在导入库或函数的源代码之间导航。请注意,为了在您自己的源代码中跨模块使用该特性(从一个模块链接到另一个模块),必须修改PYTHONPATH 环境变量。
在其中加入这些模块,这样 PyDev 就可以找到它们了。
Python 调试器
是最近才加入 PyDev 插件中的。要使用调试器,可在Python编辑器中想中断的代码行的左侧点击,设置断点。
我在 feedparser.py 的 1830 行处设置了断点。然后在 Navigator 视图中选择这个Python模块,点击右键,选择“PythonDebug...”。这时将显示与前面相似的一个启动配置窗口。点击 Debug 进入 Debug 视角,同时启动调试器。 左上角的 Debug 视图显示当前正在执行的进程和线程,右上角的 Variables 视图显示当前运行域中的所有变量。
Python编辑器会显示调试器目前停在哪条语句上,同时所有的输出信息都显示与 Console 视图中。调试器可以通过 Debug 视图底部的按钮或 Run 菜单进行控制。 要运行刚刚在 Eclipse 中创建的启动器,可选择 Run External ToolspythonInterpreter。
Python解释器的输出显示在 Console 视图中。
‘玖’ 怎么调试python脚本
打开pycharm community 2019.1软件,创建一个项目。
创建一个py后缀的文件作为示范,文件名自己定义。
相关推荐:《Python基础教程》
编写代码,然后右键点击进行运行,查看一下是否有问题。
点击右上角的虫子图标,然后下面会有控制面板出来,点击Debugger,然后我们在行号那里选择要调试哪一行,点击就会有红点。
再点击虫子图标,这个时候就可以开始调试了,点击step over或者快捷键f8就可以调试了。
但是我们可以看出就直接跳过函数内部,对于函数内部的调试,我们则需要点击step into,或者快捷键f7,这样才可以调试内部。
‘拾’ linux怎么调试python
#!/usr/bin/python
from ftplib import FTP
import sys
import socket
import pdb
def passwordCorrect(ip,port,username,password):
try:
client = FTP()
pdb.set_trace()
client.connect(ip,port)
client.login(username,password)
client.close()
except Exception, e:
pdb.set_trace()
client.close()
if str(e).find('unknown IP address')!=-1:
return 2
return 0
print "correct"
return 1