Python 显示调用栈
Python调试不如强类型的语言方便,显示调用栈有时非常必要,inspect模块很好用
import inspect inspect.stack()
inspect.stack()返回的是一个函数栈帧列表如(已经做了一个for e in inspect(): print e 转化)
(<frame object at 0x7f6ec27b2050>, '/usr/lib/python2.7/dist-packages/oslo/config/cfg.py', 495, '_is_opt_registered', [' st = inspect.stack()\n'], 0)
(<frame object at 0x7f6ec2807d00>, '/usr/lib/python2.7/dist-packages/oslo/config/cfg.py', 1163, '_register_opt', [' if _is_opt_registered(self._opts, opt):\n'], 0)
(<frame object at 0x7f6ec280bb90>, '/usr/lib/python2.7/dist-packages/oslo/config/cfg.py', 1710, 'register_opt', [' return group._register_opt(opt, cli)\n'], 0)
(<frame object at 0x1a4f180>, '/usr/lib/python2.7/dist-packages/oslo/config/cfg.py', 1591, '__inner', [' return f(self, *args, **kwargs)\n'], 0)
(<frame object at 0x1a805f0>, '/usr/lib/python2.7/dist-packages/oslo/config/cfg.py', 1723, 'register_opts', [' self.register_opt(opt, group, clear_cache=False)\n'], 0)
(<frame object at 0x1a941f0>, '/usr/lib/python2.7/dist-packages/oslo/config/cfg.py', 1587, '__inner', [' result = f(self, *args, **kwargs)\n'], 0)
(<frame object at 0x1ac0bb0>, '/usr/lib/python2.7/dist-packages/nova/openstack/common/db/options.py', 131, '<module>', ["CONF.register_opts(database_opts, 'database')\n"], 0)
(<frame object at 0x7f6ec2870aa0>, '/usr/lib/python2.7/dist-packages/nova/config.py', 21, '<module>', ['from nova.openstack.common.db import options\n'], 0)
(<frame object at 0x7f6ec381c050>, '/usr/lib/python2.7/dist-packages/nova/cmd/api.py', 27, '<module>', ['from nova import config\n'], 0)
(<frame object at 0x7f6ec4f4cc20>, '/usr/bin/nova-api', 6, '<module>', ['from nova.cmd.api import main\n'], 0)
Python 显示调用栈的更多相关文章
- boost::coroutine 无法显示调用栈
boost::coroutine 无法显示调用栈(金庆的专栏)一例因 boost::format() 格式化参数个数错误造成的 coredump,因为使用了 boost::coroutine, 无法显 ...
- python 打印调用栈
import traceback def BBQ(): traceback.print_stack() 引入 traceback 包,在某个函数中执行 traceback.print_stack().
- 在WinDBG中查看调用栈的命令
命令 ========== k k命令显示的是一定数量的栈帧, 其中帧的数量是由.kframes命令来控制的, 默认值是256. kp 5 显示调用栈中前5个函数以及他们的参数. kb 5 显示调用栈 ...
- python: 错误处理try详解 ,traceback调用栈, 调试(logging)
摘录:https://www.liaoxuefeng.com/wiki/1016959663602400/1017598873256736 错误处理 调试 错误处理 高级语言都会使用内置的一套try. ...
- python 全栈开发,Day94(Promise,箭头函数,Django REST framework,生成json数据三种方式,serializers,Postman使用,外部python脚本调用django)
昨日内容回顾 1. 内容回顾 1. VueX VueX分三部分 1. state 2. mutations 3. actions 存放数据 修改数据的唯一方式 异步操作 修改state中数据的步骤: ...
- python错误处理—try…catch…finally、调用栈分析
高级语言包括python一般都内置了一套try…catch…finally的错误处理机制: >>> try: ... print('try...') ... r = 10 / 0 . ...
- Python错误 -- try/except/finally 、调用栈、记录错误、抛出错误
Bug:程序编写有问题造成的错误,称之为Bug. debug:调试 注意:bug是程序本身有问题.有缺陷.系统漏洞 异常:完全无法在程序运行中预测的错误,例如写入文件的时候,磁盘满了,写不进去了 ...
- GDB 运行PYTHON 脚本+python 转换GDB调用栈到流程图
http://tromey.com/blog/?cat=17 http://blog.csdn.net/cnsword/article/details/16337031 http://blog.csd ...
- 老男孩Python高级全栈开发工程师三期完整无加密带课件(共104天)
点击了解更多Python课程>>> 老男孩Python高级全栈开发工程师三期完整无加密带课件(共104天) 课程大纲 1.这一期比之前的Python培新课程增加了很多干货:Linux ...
随机推荐
- 【python】collections模块(有序字典,计数器,双向队列)
collections模块基本介绍 我们都知道,Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上 ...
- 八大排序算法的python实现(二)希尔排序
代码: #coding:utf-8 #author:徐卜灵 # 希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名. # 希尔排序,也称递减增量排序算法, ...
- 八大排序算法的python实现(五)堆排序
代码 #coding:utf-8 #author:徐卜灵 # 堆排序适用于记录数很多的情况 #与快速排序,归并排序 时间复杂一样都是n*log(n) ######################### ...
- location的属性
http://localhost:8080/?a=b#/login location.host "localhost:8080" location.port 8080 locati ...
- nodejs npm包管理常用命令介绍
1.输入 npm config ls -l 可以查看当前的设置 2.针对某一项设置,可以通过下面方式: npm config set 属性名 属性值 eg:npm config set prefix ...
- ubuntu画面延迟问题解决
新配的电脑,安装ubuntu16.04以后,出现画面延迟的问题,尤其浏览网页的时候画面十分卡顿.用free命令查看过可用内存6.多G,经过询问大概是显卡问题,然后在https://ubuntuforu ...
- 洛谷 P2542 [AHOI2005]航线规划(Link-cut-tree)
题面 洛谷 bzoj 题解 离线处理+LCT 有点像星球大战 我们可以倒着做,断边变成连边 我们可以把边变成一个点 连边时,如果两个点本身不联通,就\(val\)赋为\(1\),并连接这条边 如果,两 ...
- [转] 如何批量删除Docker中已经停止的容器
[From]https://blog.csdn.net/csdn_duomaomao/article/details/78587103 方法一: #显示所有的容器,过滤出Exited状态的容器,取出这 ...
- css display flew 伸缩盒模型
父级容器属 <!doctype html> <html lang="en"> <head> <meta charset="UTF ...
- c语言3种方式实现参数传递
学习计算机已经两年了,参数传递已经成功恶心了我两年,今天在写二叉树遍历的时候成功对此忍无可忍.本文是在阅读https://blog.csdn.net/u013097971/article/detail ...