‘壹’ python调试,急!
buff从哪里来的,buff不会是文件的长度,可能是文件内容的字符串或一个列表,我猜是一个列表,里面有数字,改成这样试试。
evilbuff[offset + i] = chr(operator.xor(ord(str(buff[i])) , 0x25))
ord(buff[i])
ord的参数是字符,你给他传递了一个整数了,检查一下buff[i]是什么吧。
TypeError: ord() expected string of length 1, but int found已经说得很清楚了。
我用eclipse+pydev调试,装一下吧
好的工具事半功倍
‘贰’ 如何在 Python 中使用断点调试
在eclipse下可以单步调试python的方法:
1、右键单击标尺栏添加断点
2、将鼠标移至需要添加断点的代码行,使用快捷键 Ctrl+F10,在弹出的菜单栏中选择 ”Add Breakpoint” 添加断点。
添加好断点后,选择 Debug As -> Python Run 启动调试器,弹出一个对话框,询问是否切换到调试器透视图,单击 Yes,即显示调试模式。
3、调试器透视图
程序调试过程中,常用的几个快捷键如下:
单步跳入 Step Into: F5
单步跳过 Step Over: F6
单步返回 Step Return: F7
重新开始 Resume: F8
在控制台 Console 中,显示出断点之前代码的执行结果。如果要查看某个变量的值,以变量 a 为例,可以手动在控制台中键入一行代码 ”print ‘a is:’, a”,再连续按两次 Enter 键,即显示出变量的值。
‘叁’ python 为什么不能一步步手动调试
python的IDLE有调试功能
IDLE的调试功能比较初级,可以用下其它IDE的调试功能如pycharm
IDLE的调试模式:
图一是打开调试模式的按钮
图二是打开的调试界面
图三是当你运行任何一个运行脚本时,就会进行调试
单步调试什么的都在那个面板上,断点要在脚本文件里右键打
‘肆’ 调试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 调试器
的历史,总结了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语言中如何调试程序
把关键的中间变量print出来,看看是不是和预期的一样。
‘柒’ python 怎么用ide调试
方法很多,你打开Python IDE(GUI)后,界面跟cmd命令行很类似,如果你写的程序很复杂当然不适合这种方式了,可以直接-------File-NewFile,这个时候就会出来一个Untitled窗口,你在这里开始写程序就行了,最后保存下,就是一个**.py的python程序了,至于怎么运行它,你可以打开这个**.py文件,直接按F5就行,也可以在cmd窗口里用python **.py都可以
‘捌’ 怎么调试python脚本
打开pycharm community 2019.1软件,创建一个项目。
创建一个py后缀的文件作为示范,文件名自己定义。
相关推荐:《Python基础教程》
编写代码,然后右键点击进行运行,查看一下是否有问题。
点击右上角的虫子图标,然后下面会有控制面板出来,点击Debugger,然后我们在行号那里选择要调试哪一行,点击就会有红点。
再点击虫子图标,这个时候就可以开始调试了,点击step over或者快捷键f8就可以调试了。
但是我们可以看出就直接跳过函数内部,对于函数内部的调试,我们则需要点击step into,或者快捷键f7,这样才可以调试内部。
‘玖’ python如何一步步调试
装个Pycharm
1 添加断点
2 Debug下运行代码:
3 F8:进行下一步操作
F7 :跳入下一个方法中