linux操作系统下调试python代码方法
一、python有调试工具pdb,可以用来进行代码调试。
pdb的常用命令说明:
l #查看运行到哪行代码
n #单步运行,跳过函数
s #单步运行,可进入函数
p 变量 #查看变量值
b 行号 #断点设置到第几行
b #显示所有断点列表
cl 断点号 #删除某个断点
cl #删除所有断点
c #跳到下一个断点
r #return当前函数
exit #退出
调试记录:
pdb设置断点可以在程序里加入:
import pdb
在需要设置断点的地方加入pdb.set_trace()
执行python -m pdb demo.py
import pdb
import os
import time
pdb.set_trace()
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
if __name__ == '__main__':
result_dir = './test_result'
pdb.set_trace()
if os.path.exists(result_dir):
shutil.rmtree(result_dir)
os.mkdir(result_dir)
执行样例
$ python -m pdb demo.py
> /homo/demo.py(2)<module>()
-> import pdb
(Pdb) n
> /home/demo.py(3)<module>()
-> import os
(Pdb) n
> /home/demo.py(4)<module>()
-> import ocr
(Pdb) n
二、cgitb代码调试跟踪
cgitb可以对运行的代码进行逐行输出,省去使用print进行log输出,个人建议cgitb在生产运行环境不要使用本方法,而是在开发的过程中进行调试,非常的方便。
cgitb的enable()函数的选项控制报表是否显示在浏览器中,以及报表是否记录到文件中供以后分析。
cgitb.enable([display[, logdir[, context[, format]]]])
import pdb
import os
import time
pdb.set_trace()
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
if __name__ == '__main__':
import cgitb
cgitb.enable(format = 'text')
result_dir = './test_result'
pdb.set_trace()
if os.path.exists(result_dir):
shutil.rmtree(result_dir)
os.mkdir(result_dir)
# import cgitb
# cgitb.enable(format = 'text')
linux操作系统下调试python代码方法的更多相关文章
- 在Linux下调试Python代码的各种方法
这是一个我用于调试或分析工具概述,不一定是完整全面,如果你知道更好的工具,请在评论处标记. 日志 是的,的确,不得不强调足够的日志记录对应用程序是多么的重要.您应该记录重要的东西,如果你的记录足够好的 ...
- Linux操作系统下软件的安装方法大全
一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd soft.version.rpm所在 ...
- (收集)linux环境下乱码的解决方法
**************************** 就是从数据库中取出来时,在存入linux的文件里时,在字符流时制定编码格式.代码如下: FileOutputStream fos=new Fi ...
- 【转载】PDB命令行调试Python代码
转载自这里. (博主按:PDB调试python代码和用GDB调试c++代码很类似) 你有多少次陷入不得不更改别人代码的境地?如果你是一个开发团队的一员,那么你遇到上述境地的次数比你想要的还要多.然而, ...
- Linux 操作系统下为网卡配置ip
Linux操作系统下为网卡配置ip by:授客 QQ:1033553122 1. Linux单一网卡设置多IP的配置方法 在Linux下网卡接口逻辑名被称为eth0,eth1,eth2,..... ...
- (转)LINUX CENTOS7下安装PYTHON
LINUX CENTOS7下安装PYTHON 原文:http://www.cnblogs.com/lclq/p/5620196.html Posted on 2016-06-27 14:58 南宫羽香 ...
- Linux 环境下安装python相关
目录 Linux 环境下安装python相关 linux软件包管理工具之yum工具(如同pip3工具) yum源理解 下载阿里云的.repo仓库文件 ,放到/etc/yum.repos.d/ yum安 ...
- 尚学linux课程---10、linux环境下安装python
尚学linux课程---10.linux环境下安装python 一.总结 一句话总结: 直接在官网下载python的源码包即可,然后在linux下安装 linux下安装软件优先想到的的确是yum,但是 ...
- 在Linux操作系统下备份恢复技术的应用 转自https://yq.aliyun.com/articles/50205?spm=5176.100239.blogcont24250.9.CfBYE9
摘要: 安全防护:在Linux操作系统下备份恢复技术的应用 原文参见:http://linux.chinaunix.net/techdoc/system/2005/12/19/925898.shtm ...
随机推荐
- koa2+koa-art-template利用日期管道实现在jat模板中将时间戳转为日期时间
var sp = require("silly-datetime"); var render = require("koa-art-template"); va ...
- 查看当前android设备已安装的第三方包
查看当前android设备已安装的第三方包 adb shell pm list package -3 2 adb shell "getprop ro.build.version ...
- 牛客多校第三场 G Removing Stones(分治+线段树)
牛客多校第三场 G Removing Stones(分治+线段树) 题意: 给你n个数,问你有多少个长度不小于2的连续子序列,使得其中最大元素不大于所有元素和的一半 题解: 分治+线段树 线段树维护最 ...
- (转载)MySQL慢查询日志总结
转自:https://www.cnblogs.com/kerrycode/p/5593204.html 慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响 ...
- boostrap-非常好用但是容易让人忽略的地方【1】:modal
使用bootstrap框架好久了,在开发中也用到了或者遇到了很多的问题,所以跟大家分享一下 bootstrap modal 组件的样式 .modal-lg .modal-sm 说明:这个是bootst ...
- kali添加路由
kali添加路由 vim /etc/network/interfaces iface eth0 inet static address 192.168.1.10 netmask 255.255.255 ...
- P3225 [HNOI2012]矿场搭建 题解
这道题挺难的,可以加深对割点的理解,还有,排列组合好重要了,分连通块,然后乘法原理(加法原理计数什么的) 传送门 https://www.luogu.org/problem/P3225 省选oi题 ...
- DOCKER学习_003:Docker的存储
一 简介 docker提供数据卷来实现数据共享与持久化,而数据卷的挂载有两种方式: 挂载主机目录(Bind mounts) 数据卷容器(Data Volumes) 数据卷是一个可供容器使用的特殊目录, ...
- JavaScript之DOM操作,事件操作,节点操作
1,DOM操作 1.1 概念 所谓DOM,全称Document Object Model 文档对象模型,DOM是W3C(World Wide Web Consortuum )标准,同时也定义了访问诸 ...
- 【退役记】CSP2019 退役记
Day -1 机房自习,因为一些奇怪原因心不在焉 我可能太在意csp了 晚上有点扛不住去七楼阳台思考人生,得到了一些惊人的结论想下来由于某种原因继续跑到七楼思考人生 然后晚自习下课仰天大笑出门去,我辈 ...