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 ...
随机推荐
- 错误代码: 1142 REFERENCES command denied to user 'wuyong'@'localhost' for table 'orders'
错误代码: 1142 REFERENCES command denied to user 'wuyong'@'localhost' for table 'orders' 原因:在使用SQLyog操作数 ...
- MongDB from execCommand not master
count failed: not master{ , "errmsg" : "not master" } at src/mongo/shell/query.j ...
- centos安装mysql57
下载源安装文件 https://dev.mysql.com/downloads/repo/yum/ wget http://repo.mysql.com//mysql57-community-rele ...
- 在DZ 中 showmessage 中可以再次执行 JS
showmessage ( '登录', '', array (), array ( 'showdialog' => 0, ...
- ExtJS 4.2.1学习笔记(一)——MVC架构与布局
1 ExtJS入门 1.1 支持所有主流浏览器 调试推荐:chrome.Safari.Firefox 1.2 推荐目录结构 - appname (包含所有程序代码,是根目录 ...
- VSLAM技术框架详述
最早的SLAM雏形是在军事(核潜艇的海底定位)上的应用,主要传感器是军用雷达.SLAM技术发展到如今已经几十年,目前以激光雷达作为主传感器的SLAM技术比较稳定.可靠,仍然是主流的技术方案.但随着最近 ...
- sharding-jdbc数据分片配置
数据分片 不使用Spring 引入Maven依赖 <dependency> <groupId>org.apache.shardingsphere</groupId> ...
- Javascript 中 的坑..
### 1. 0 == '' 返回 true 0 === '' 返回false......... 切记...
- C++_函数1-编程的基本模块函数
以下是<C++ Primer Plus>中第七章的内容: 使用C++函数的3个步骤: 提供函数定义 提供函数原型 调用函数 7.1.1 定义函数 函数分成两类:没有返回值的函数.有返回值的 ...
- 基于JsonPath和XmlPath的对象映射(Object Mapping)
rest-assured支持映射Java对象到Json和XML以及从Json和XML中映射到Java对象.Json映射需要在classpath 中有Jackson.Jackson 2或者是Gson,X ...