`
san_yun
  • 浏览: 2653623 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

python thread dump

 
阅读更多
一直希望python也有类似java dump的功能,上网找了一段代码可以实现类似效果:


def stacktraces():
    code = []
    import sys
    import traceback

    for threadId, stack in sys._current_frames().items():
        code.append("# ThreadID: %s" % threadId)
        for filename, lineno, name, line in traceback.extract_stack(stack):
            code.append('File: "%s", line %d, in %s' % (filename, lineno, name))
            if line:
                code.append("  %s" % (line.strip()))

    return "<br>".join(code)


<div class="highlight" style="background: #f8f8f8"><pre style="line-height: 125%"><span style="color: #408080; font-style: italic">

# ThreadID: 47988642959488<br>File: "build/bdist.linux-x86_64/egg/gevent/greenlet.py", line 390, in run<br> result = self._run(*self.args, **self.kwargs)<br>File: "/duitang/dist/sys/python/lib/python2.7/site-packages/gunicorn-0.14.6-py2.7.egg/gunicorn/workers/async.py", line 44, in handle<br> self.handle_request(req, client, addr)<br>File: "/duitang/dist/sys/python/lib/python2.7/site-packages/gunicorn-0.14.6-py2.7.egg/gunicorn/workers/ggevent.py", line 88, in handle_request<br> super(GeventWorker, self).handle_request(*args)<br>File: "/duitang/dist/sys/python/lib/python2.7/site-packages/gunicorn-0.14.6-py2.7.egg/gunicorn/workers/async.py", line 78, in handle_request<br> respiter = self.wsgi(environ, resp.start_response)<br>File: "/duitang/dist/sys/python/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 273, in __call__<br> response = self.get_response(request)<br>File: "/duitang/dist/sys/python/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response<br> response = callback(request, *callback_args, **callback_kwargs)<br>File: "/duitang/dist/sys/python/lib/python2.7/site-packages/django/contrib/auth/decorators.py", line 23, in _wrapped_view<br> return view_func(request, *args, **kwargs)<br>File: "/duitang/dist/sys/python/lib/python2.7/site-packages/django/contrib/admin/views/decorators.py", line 19, in _checklogin<br> return view_func(request, *args, **kwargs)<br>File: "/data1/duitang/dist/app/test/7199/duitang/analytic/views.py", line 878, in dump<br> stack = cf.stacktraces()<br>File: "/data1/duitang/dist/app/test/7199/duitang/cf.py", line 835, in stacktraces<br> for filename, lineno, name, line in traceback.extract_stack(stack):

</span> </pre></div> 





  • 大小: 37.7 KB
分享到:
评论

相关推荐

    weblogic thread dump 分析

    python 脚本从nohup.out ibm core 文件 ,或者从weblogic 的console 里面 thread dump 整理出来,统一格式便于查看,适合于性能分析

    使用MiniDump在程序里自动生成Dump 调试错误

    mei.ThreadId = GetCurrentThreadId(); mei.ExceptionPointers = pExceptionInfo; mei.ClientInfo = NULL; MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hFile, MiniDumpNormal, &mei, NULL...

    利用wsadmin生成javacore,heapdump文件

    它支持多种语言,包括JavaScript、Python等,可以执行各种管理任务,如监控、配置和诊断。 生成javacore和heapdump通常有以下步骤: 1. **启动wsadmin**:首先,你需要启动wsadmin客户端,可以通过命令行或者...

    python standerd labrary中文版

    - 函数如`pickle.dump()`, `pickle.load()`等。 - **cPickle模块**(已废弃) - 提供了一个更快的对象序列化方式。 - 函数如`cPickle.dumps()`, `cPickle.loads()`等。 - **copyreg模块** - 提供对象的注册表...

    Python api 库函数学习

    pickle.dump(data, f) with open('data.pickle', 'rb') as f: loaded_data = pickle.load(f) print(loaded_data) ``` - **pprint**: 美化打印字典。 ```python import pprint data = {'name': 'John', ...

    python常用标准库及三方库借鉴.pdf

    10. threading:threading是一个多线程模块,提供了许多有用的多线程函数,例如Thread、Lock、Condition等。 11. multiprocessing:multiprocessing是一个多进程模块,提供了许多有用的多进程函数,例如Process、...

    Python标准库示例

    - `pickle.dump`:将对象保存到文件。 - `pickle.load`:从文件加载对象。 - **json模块**:用于处理JSON格式的数据。 - `json.dumps`:将Python对象编码成JSON字符串。 - `json.loads`:将JSON字符串解码为...

    Python面试大全(详细)

    2. **文件操作**:Python的`open()`函数用于打开文件,`json.load()`和`json.dump()`用于JSON文件的读写。对于日期相关的计算,可以使用`datetime`模块。 3. **列表操作**:`random.shuffle()`可以打乱列表顺序;按...

    Python英语单词整理.pdf

    46. **load** / **dump**:序列化和反序列化,用于保存和恢复对象状态。 47. **date** / **time**:日期和时间处理,提供时间相关的功能。 48. **sleep**:暂停程序执行一定时间。 49. **random**:随机数,用于...

    python中的多线程实例教程

    本文以实例形式较为详细的讲述了Python中多线程的用法,在Python程序设计...在某些版本中thread模块可能不存在,要使用dump_threading来代替threading模块。 一、线程创建 threading模块中每个线程都是一个Thread对象,

    fastsql:快捷方式的python版表迁移工具(多线程版)

    支持千万级数据迁移,支持自定义迁移列,自定义迁移数据结构在您无法使用load或dump命令,或者所迁移表结构不同,需要对数据做处理时使用。标准化多线程识读器,无需关注识读过程,只需关注入库前数据的处理本地缓存...

    序列化Python对象的方法

    self.thr = threading.Thread(target=self.run) self.thr.daemon = True self.thr.start() def run(self): while self.n &gt; 0: print('T-minus', self.n) self.n -= 1 time.sleep(5) def __getstate__...

    sqlmap-master.zip

    3. 数据提取:使用`--dump`参数提取表中的数据,如`python sqlmap.py --dump -u "http://target.com" --data "id=1"`。 4. 高级用法:sqlmap提供了丰富的参数选项,如`--technique`选择注入技术,`--thread`设置...

    pyhthon学习笔记

    ### Python学习笔记知识点详解 #### 1. 使用`argv`接收命令行参数 - **概念**: `argv` 是一个列表,用于接收从命令行传入的参数。在Python脚本中,可以通过`sys.argv`来访问这些参数。其中`sys.argv[0]`通常为脚本...

    WAS和DB2性能问题的发现和处理.pdf

    - 可以使用 IBM Thread and Monitor Dump Analyzer for Java Technology 工具进行更深入的分析。 #### 三、DB2 数据库性能监控与调整 **1. 检查 DB2 数据库状态** - **查看日志文件**: 在实例用户目录下的`...

    windbg调试入门系列

    5. 使用脚本:Windbg支持使用JScript和Python编写脚本,自动化调试过程,提高效率。 四、学习资源 1. 官方文档:微软提供了详尽的Windbg文档,包括在线帮助和PDF手册。 2. Windbg教程:网络上有许多社区和博客...

    gdb-6.5a.tar.gz

    `thread`命令用于列出所有线程,`thread select`用于切换当前活动线程,而`info threads`则能显示每个线程的状态,这对于理解和解决多线程问题至关重要。 六、核心转储分析 当程序崩溃时,GDB-6.5可以读取核心转储...

    gdb思维导图

    - `thread`:列出所有线程,`thread &lt;num&gt;`选择特定线程。 - `info threads`:查看线程信息。 10. **远程调试** - `target remote`:连接远程目标进行调试,常用于嵌入式系统。 11. **GDB图形界面** - GDB有...

Global site tag (gtag.js) - Google Analytics