Linux下Python基础调试

http://blog.163.com/liuyuhuan0915@126/blog/static/78265448201141662828820/

当手边没有IDE,面对着python调试犯愁时,你就可以参考下本文;(pdb 命令调试)

参考:http://docs.python.org/library/pdb.html 和 (pdb)help

首先你选择运行的 py

python -m pdb myscript.py

(Pdb) 会自动停在第一行,等待调试,这时你可以看看 帮助

(Pdb) h

说明下这几个关键 命令

>断点设置

(Pdb)b 10 #断点设置在本py的第10行

或(Pdb)b ots.py:20 #断点设置到 ots.py第20行

删除断点(Pdb)b #查看断点编号

(Pdb)cl 2 #删除第2个断点

>运行

(Pdb)n #单步运行

(Pdb)s #细点运行 也就是会下到,方法

(Pdb)c #跳到下个断点

>查看

(Pdb)p param #查看当前 变量值

(Pdb)l #查看运行到某处代码

(Pdb)a #查看全部栈内变量

>如果是在 命令行里的调试为:

import pdb

def tt():

pdb.set_trace()

for i in range(1, 5):

print i

>>> tt()

#这里支持 n p c 而已

> (3)tt()

(Pdb) n

带参调试:

python -m pdb makePackage youtuberev_1.0_csky.ipk

常用命令说明:
l #查看运行到哪行代码

n #单步运行,跳过函数

s #单步运行,可进入函数

p 变量 #查看变量值

b 行号 #断点设置到第几行

b #显示所有断点列表

cl 断点号 #删除某个断点

cl #删除所有断点

c #跳到下一个断点

r #return当前函数

exit #退出

更多的命令http://docs.python.org/library/pdb.html

(Pdb) dir([1,2])
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
(Pdb) p chk.winfo_x()
30
(Pdb) p chk.winfo_y()

检查Python对象

http://www.cnblogs.com/shanyou/archive/2007/02/12/648479.html

linux python调试技巧的更多相关文章

  1. python 调试技巧

    1.以前都是用print来定位哪里报错,后面发现一个新的调试技巧 import pdb for i in range(nrows): : content = table.row_values(i) p ...

  2. 【转】linux内核调试技巧之一 dump_stack

    原文网址:http://blog.csdn.net/dragon101788/article/details/9419175 在内核中代码调用过程难以跟踪,上下文关系复杂,确实让人头痛 调用dump_ ...

  3. linux内核调试技巧之一 dump_stack【转】

    在内核中代码调用过程难以跟踪,上下文关系复杂,确实让人头痛 调用dump_stack()就会打印当前cpu的堆栈的调用函数了. 如此,一目了然的就能看到当前上下文环境,调用关系了 假设: 遇到uvc_ ...

  4. linux内核调试技巧之addr2line

    addr2line工具是一个可以将指令的地址和可执行影像转换为文件名,函数名和源代码行数的工具.这在内核执行过程中出现崩溃时,可用于快速定位出出错的位置,进而找出代码的bug. 用法 addr2lin ...

  5. 【转载】Python 代码调试技巧

    https://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/ Python 代码调试技巧 张 颖2012 年 5 月 03 日发布 ...

  6. Linux c c++ 开发调试技巧

    看到一篇介绍 linux c/c++ 开发调试技巧的文章,感觉挺使用,哪来和大家分享. 通向 UNIX 天堂的 10 个阶梯Author: Arpan Sen, 高级技术人员, Systems Doc ...

  7. Python开发环境Wing IDE的Blender的Python代码调试技巧

    Wing IDE是一个集成开发环境,可用于开发.测试和调试为Blender编写的Python代码,Blender是一个开源的3 D内容创建系统.Wing IDE提供自动完成.调用提示.强大的调试器.以 ...

  8. linux内核调试指南

    linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 ...

  9. Linux命令行技巧

    Linux命令行技巧 命令 描述 • apropos whatis 显示和word相关的命令. 参见线程安全 • man -t man | ps2pdf - > man.pdf 生成一个PDF格 ...

随机推荐

  1. bzoj 1047 单调队列

    做4次单调队列优化DP. /************************************************************** Problem: 1047 User: idy ...

  2. sass compass问题小结

    1.中文注释编译报错Invalid GBK character的问题,找到ruby sass安装目录,如D:\Ruby22-x64\lib\ruby\gems\2.2.0\gems\sass-3.4. ...

  3. 【转】JABC访问oracle数据库报ORA-12505

    Oracle 问题描述: 今天使用jdbc连接oracle 10.2.0.1.0 数据库的时候出现了下列错误: Connection refused(DESCRIPTION=(TMP=)(VSNNUM ...

  4. CentOS 7提示:ERROR unsupported format character '(0xffffffe7) at/域安装失败,您可以运行下列命令重启您的域:

    别理会,直接装即可,这个错误不影响使用.

  5. js单例模式详解实例

    这篇文章主要介绍了什么是单例单例模式.使用场景,提供了3个示例给大家参考 什么是单例? 单例要求一个类有且只有一个实例,提供一个全局的访问点.因此它要绕过常规的控制器,使其只能有一个实例,供使用者使用 ...

  6. MVC动态添加文本框,后台使用FormCollection接收

    在"MVC批量添加,增加一条记录的同时添加N条集合属性所对应的个体"中,对于前台传来的多个TextBox值,在控制器方法中通过强类型来接收.使用FormCollection也可以接 ...

  7. linu下修改mysql数据库面

    修改密码:1.例如你的 root用户现在没有密码,你希望的密码修改为123456,那么命令是:mysqladmin -u root password 1234562.如果你的root现在有密码了(12 ...

  8. IOC详解和Unity基础使用介绍

    说起IOC,可能很多初学者不知道是用来做什么的,今天正好有点时间,就来扫扫盲,顺便巩固下自己. IOC全称是Inversion Of Control,意为控制反转(这些自然百度也有),可什么是控制反转 ...

  9. Windows 7 卸载 IE10

    今天微软为Windows 7发布了IE10预览版,你是否已经安装?根据笔者的体验,IE10确实如微软所说,在速度.性能等各方面都有了明显提升. 不过,IE10发布预览版安装后会直接替代IE9,如果你想 ...

  10. python接口自动化4-绕过验证码登录(cookie)

    前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 一.抓登录coo ...