Python如何实现单步调试

简介:

遇到大型python项目,如何定位问题和监控程序的运行状态是一个程序员必须掌握的技能,今天小编为你带来python程序的单步调试方法,方便易用,简单易记!

首先你需要在所调试程序的开头中:import pdb 并在你的代码行设置断点:pdb.set_trace()

def get_input(Data, SuiteID, CaseID, caseinfolist):  
    global sArge
    sArge=''
    args = []  
    #对于get请求,将参数组合  
    if reqmethod.upper()=='GET':        for j in range(0, caseinfolist[1]):  
            if Data.read_data(SuiteID, Data.casebegin+CaseID, Data.argbegin+j) != "None": 
                ArgValue =  Data.read_data(SuiteID, Data.casebegin+CaseID, Data.argbegin+j)                if '$$' in ArgValue:#走关联分支
                    args = ArgValue.split('$$')                    #print args
                    corvalue = Correl(args[0], args[1], args[2])
                    pdb.set_trace()   #######这儿设置断点,程序运行到此处就开始了单步调试###########                    if corvalue == []:
                        sArge = 'correlerr'
                        #return sArge
                        #infolog="关联失败"
                        #ret1 = 'NG'
                        #Data.write_data(SuiteID, Data.casebegin+CaseID, 15,infolog,NG_COLOR)
                        #write_result(Date, SuiteID, Data.casebegin+CaseID, 16, ret1)
                    else:
                        sArge=sArge+caseinfolist[2][j]+'='+corvalue[0]+'&'                        
                else:
                    sArge=sArge+caseinfolist[2][j]+'='+ArgValue+'&'
                #print sArge
        #去掉结尾的&字符  
        if sArge[-1:]=='&':  
            sArge = sArge[0:-1]     
        #sInput=caseinfolist[0]+sArge    #为了post和get分开方便,不在这里组合接口名,在调用的地方组合接口名。
        return sArge 
    #对于post请求,因为不知道连接格式是=还是冒号,或者是其他的格式,所以不做拼接。直接取参数的第一个作为上传body。
    else:
        sArge=Data.read_data(SuiteID, Data.casebegin+CaseID, 3)        if '$$' in sArge:#走关联分支
            args = sArge.split('$$')            #print args
            corvalue = Correl(args[0], args[1], args[2])            if corvalue == []:
                sArge = 'correlerr'
                return sArge            else:                return sArge

程序开始之后pdb调试界面:

> c:\users\wangchao\workspace\interface_test\testframe.py(253->  reqmethod.upper()==

总结:上面的程序是本人私有,因而不能全部上传,在练习pdb时,建议使用自己的程序,pdb单步调试方法总结如下:

命令


解释

break 或 b 设置断点

设置断点

continue 或 c

继续执行程序

list 或 l

查看当前行的代码段

step 或 s

进入函数

return 或 r

执行代码直到从当前函数返回

exit 或 q

中止并退出

next 或 n

执行下一行

pp

打印变量的值

a

查看全部栈内变量



















本文转自xsster51CTO博客,原文链接:http://blog.51cto.com/12945177/1948479 ,如需转载请自行联系原作者





相关文章
|
2月前
|
开发框架 人工智能 Rust
Python 潮流周刊#12:Python 中如何调试死锁问题?
Python 潮流周刊#12:Python 中如何调试死锁问题?
16 0
|
2月前
|
监控 IDE 开发工具
Python中的日志记录与调试技巧
Python中的日志记录与调试技巧
|
3月前
|
存储 Shell 程序员
Python 自动化指南(繁琐工作自动化)第二版:十一、调试
Python 自动化指南(繁琐工作自动化)第二版:十一、调试
|
3月前
|
IDE 开发工具 Python
|
9月前
|
小程序 IDE Go
Python案例分析|使用调试器调试Python程序
本案例通过一个示例程序的调试,帮助大家了解使用Python调试器调试程序的方法 分析定位程序错误是程序设计最基本的功能。Python标准库的调试器pdb提供了基本的调试功能:设置断点、查看变量等。 集成开发环境(IDE,例如IDLE、Spyder、PyCharm)则提供了更直接方便的调试器。 本案例研究通过实例,阐述使用IDLE调试器跟踪调试Python程序的基本方法
118 1
Python案例分析|使用调试器调试Python程序
|
4月前
|
块存储 Python
rados 命令行函数 调试 ceph python
rados 命令行函数 调试 ceph python
30 0
|
5月前
|
NoSQL C++ Python
108 python高级 - 调试
108 python高级 - 调试
27 0
|
7月前
|
NoSQL Linux C++
Linux下使用命令行调试Python程序
Linux下使用命令行调试Python程序
250 0
Linux下使用命令行调试Python程序
|
8月前
|
IDE Shell Go
【100天精通python】Day18:python程序异常与调试_常用程序调试方式与技巧,如何将调试代码与正式代码分开
【100天精通python】Day18:python程序异常与调试_常用程序调试方式与技巧,如何将调试代码与正式代码分开
143 0

热门文章

最新文章