linux python调试技巧
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调试技巧的更多相关文章
- python 调试技巧
1.以前都是用print来定位哪里报错,后面发现一个新的调试技巧 import pdb for i in range(nrows): : content = table.row_values(i) p ...
- 【转】linux内核调试技巧之一 dump_stack
原文网址:http://blog.csdn.net/dragon101788/article/details/9419175 在内核中代码调用过程难以跟踪,上下文关系复杂,确实让人头痛 调用dump_ ...
- linux内核调试技巧之一 dump_stack【转】
在内核中代码调用过程难以跟踪,上下文关系复杂,确实让人头痛 调用dump_stack()就会打印当前cpu的堆栈的调用函数了. 如此,一目了然的就能看到当前上下文环境,调用关系了 假设: 遇到uvc_ ...
- linux内核调试技巧之addr2line
addr2line工具是一个可以将指令的地址和可执行影像转换为文件名,函数名和源代码行数的工具.这在内核执行过程中出现崩溃时,可用于快速定位出出错的位置,进而找出代码的bug. 用法 addr2lin ...
- 【转载】Python 代码调试技巧
https://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/ Python 代码调试技巧 张 颖2012 年 5 月 03 日发布 ...
- Linux c c++ 开发调试技巧
看到一篇介绍 linux c/c++ 开发调试技巧的文章,感觉挺使用,哪来和大家分享. 通向 UNIX 天堂的 10 个阶梯Author: Arpan Sen, 高级技术人员, Systems Doc ...
- Python开发环境Wing IDE的Blender的Python代码调试技巧
Wing IDE是一个集成开发环境,可用于开发.测试和调试为Blender编写的Python代码,Blender是一个开源的3 D内容创建系统.Wing IDE提供自动完成.调用提示.强大的调试器.以 ...
- linux内核调试指南
linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 ...
- Linux命令行技巧
Linux命令行技巧 命令 描述 • apropos whatis 显示和word相关的命令. 参见线程安全 • man -t man | ps2pdf - > man.pdf 生成一个PDF格 ...
随机推荐
- Codeforces Round #313 (Div. 1) C. Gerald and Giant Chess DP
C. Gerald and Giant Chess Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest ...
- Hihocoder #1081 最短路径一 dijkstra
#1081 : 最短路径·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 万圣节的早上,小Hi和小Ho在经历了一个小时的争论后,终于决定了如何度过这样有意义的一天—— ...
- Jmeter实现登录、创建BUG、解决bug的手写脚本
一.登录 1. 打开jmeter.添加线程组,命名为test,如下图: 2. 添加HTTp默认请求 1)服务器名称或IP:这里只能填写域名或IP地址 2)端口号:配 ...
- hibernate核心配置
# hibernate核心配置 注意: - hibernate.cfg.xml默认放在src目录下(这样可以自动加载该文件) - 必须配置的参数: * 数据库的四大参数和方言 - 可选配置的参 ...
- 如何让浮动的元素换行??css
当你想要做成这种布局效果的时候 紫色框里面的内容那样 它是一个列表 li元素是块级元素 默认大小是父元素ul的宽 并且换行 如果li没有背景的话那就不用管了 可是问题来了它不但有背景 而且是根据文字 ...
- Window 8 启用 Telnet 命令工具一览图
Window 8 启用 Telnet 命令工具一览图 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创 ...
- mysql-debug
http://www1.huachu.com.cn/read/readbookinfo.asp?sectionid=1000002778 http://hedengcheng.com/?p=238 h ...
- LINUX block I/O --systemtap
http://hushi55.github.io/2015/10/16/Block-Input-Output/ http://myaut.github.io/dtrace-stap-book/kern ...
- svn如何提取文件更新列表
eclipse svn插件site-1.10.1 Slik-Subversion-1.8.0-x64.msi ---可以使用svn命令,如svn status 显示修改过的本地文件,如下示例: I: ...
- 将asi-http-request引入到ARC工程需要做的 转
在发表前,容许我发两句牢骚,太折腾了.但结合网路上各种大侠的答案相助,最终我终于可以在ARC项目使用该库了. 1.需要下载asi-http-request这个包.https://github.com/ ...