python调试
如果很简单的程序,建议还是pirnt打出来。
对于Linux环境,使用pdb/ipdb是一个不错的选择。
安装ipdb
sudo pip install ipdb
开启调试
- 手动在需要调试的地方写入set_trace()
import ipdb
ipdb.set_trace()
2.使用命令启动
python -m ipdb fileNme.py
功能简介
断点
- 设置 b lineNumber
- 查看 b
- 删除 cl [breakpoint Number]
- *条件断点 condition bpnumber [condition]
- *停用 disable bpNumber
- *激活 enable bpNumber
执行
- 执行(逐语句) s
- 执行(逐过程) n
- 执行当前运行函数到结束(跳出) r
- 继续,直到下个断点 c
- 跳到指定行j lineNumber
查看
- 查看变量 p varsName
- 查看当前函数参数 a
- 列出当前源码附近 l
- 列出lineNumber附近源码 l lineNumber
- 查看所有代码 l lineNumber
调用栈
- 查看当前栈 w
- 进入下一层堆栈 d
- 跳到上一层堆栈 u
其他
- 退出 q
- 重新运行 run
- 执行命令 !command 可以动态更改程序中的变量
- 执行上条 enter
实际使用
ZeroDivisionError: division by zero
# 执行命令
python -m ipdb login.py
- 设置断点在第四行
b 4
- 运行
r
单步调试
n # 执行打印命令
n # 执行b -= 10
p b # 查看b变量内容
s # 进入func2继续调试
- 发现错误更改后
disable 1 # 失效断点
run # 重新载入程序
r # 执行
cl # 程序正常,去除断点
python调试的更多相关文章
- 如何用pdb进行python调试
本文章讲述了如何用pdb进行python调试讲解. 当手边 没有IDE,面对着python调试犯愁时,你就可以参考下本文;(pdb 命令调试) 参 考:http://docs.python.org/l ...
- python 调试
python 调试基本和gdb调试一样,举例: debug .py #!/usr/bin/python print "hello" i=0 for j in range(10) ...
- 使用Sublime Text搭建python调试环境
原文地址:http://blog.csdn.net/wenxuansoft/article/details/38559731 pycharmt等IDE虽然用着爽,但毕竟在速度.资源上还是比较让人不爽的 ...
- Python - 调试Python代码的方法
调试(debug) 将可疑环节的变量逐步打印出来,从而检查哪里是否有错. 让程序一部分一部分地运行起来.从核心功能开始,写一点,运行一点,再修改一点. 利用工具,例如一些IDE中的调试功能,提高调试效 ...
- “笨方法”学习Python笔记(2)-VS Code作为文本编辑器以及配置Python调试环境
Visual Studio Code 免费跨平台文本编辑器,插件资源丰富,我把其作为Debug的首选. 下载地址:https://code.visualstudio.com/Download 安装之后 ...
- win10下正确使用Sublime Text搭建python调试环境
pycharmt等IDE虽然用着爽,但毕竟在速度.资源上还是比较让人不爽的. 使用IDE无非是图个方便省事,特别是像我这种有些记性差的来说. IDE说起来方便于的几个地方就是: 1.语法颜色高亮 ...
- VSCode配置python调试环境
VSCode配置python调试环境 很久之前的一个东东,翻出来看看 VSCode配置python调试环境 * 1.下载python解释器 * 2.在VSCode市场中安装Python插件 * 4.在 ...
- 使用Sublime Text搭建python调试环境[转]
pycharmt等IDE虽然用着爽,但毕竟在速度.资源上还是比较让人不爽的. 使用IDE无非是图个方便省事,特别是像我这种有些记性差的来说. IDE说起来方便于的几个地方就是: 1.语法颜色高亮 2. ...
- 学习笔记之Python调试 - pdb
python调试神器——pdb - 软谋python https://mp.weixin.qq.com/s/w3Xw8I_zh7MFq2dx5kdQXw 优秀开发者必备技能包:Python调试器 - ...
- linux python调试技巧
Linux下Python基础调试 http://blog.163.com/liuyuhuan0915@126/blog/static/78265448201141662828820/ 当手边没有IDE ...
随机推荐
- Shell 批量复制文件名相近的文件到指定文件名中
问题: 目录结构如下: test/ 2001.01.01/ 2001.02.02/ 2001.03.02/ 2001.01.03/ 2001.02.04/ 2001.03.05/ 2 ...
- Shell跳板机sshstack
笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 源码地址: https://github.com/sshstack/sshstack 为什么要写shell跳板机? ...
- 【转】UNIX时间戳与.net日期类的转换
1 将系统时间转换成UNIX时间戳 DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970,1,1)); ...
- crontab 定时任务守护程序,停止服务器时出现 job for * canceled
(1)首先要在程序启动的时候加入定时任务到crontab #! /bin/shmkdir -p /home/apps/components/ams/ 2>/dev/nullcp ./amswat ...
- 看图说话,P2P 分享率 90% 以上的 P2P-CDN 服务,来了!
事情是这样的:今年年初的时候,公司准备筹划一个直播项目,在原有的 APP 中嵌入直播模块,其中的一个问题就是直播加速服务的选取. 老板让我负责直播加速的产品选型,那天老板把我叫到办公室,语重心长地说: ...
- Spring整合JMS(三)——MessageConverter介绍
原文链接:http://haohaoxuexi.iteye.com/blog/1900937 1.4 消息转换器MessageConverter MessageConverter的作用主要有两 ...
- 【转】 C/C++程序员必须熟练应用的开源项目
作为一个经验丰富的C/C++程序员, 肯定亲手写过各种功能的代码, 比如封装过数据库访问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件访问的类, 封装过UI界面库等, 也在实际的项目中应 ...
- js事件机制
js事件属性:
- AGC017 F - Zigzag
传送门 Time limit : 4sec / Memory limit : 256MB Score : 1600 points Problem Statement There are N(N+1)⁄ ...
- 通过 AJAX 加载的 JavaScript 脚本的调试
//# sourceURL= 注意#后面有一个空格.