#!/bin/bash 
if (( $# < 1 )) 
then 
    echo "usage: `basename $0` pid" 1>&2 
    exit 1 
fi

if [[ ! -r /proc/$1 ]] 
then 
    echo "Process $1 not found." 1>&2 
    exit 1 
fi

backtrace="bt" 
if [[ -d /proc/$1/task ]] 
then 
    if [[ `ls /proc/$1/task 2>/dev/null | wc -l` > 1 ]] 
    then 
        backtrace="thread apply all bt" 
    fi  ; 
elif [[ -f /proc/$1/maps ]] 
then 
        if grep -e libpthread /proc/$1/maps > /dev/null 2>&1 
    then 
                backtrace="thread apply all bt" 
        fi 
fi

GDB=gdb

$GDB -quiet -nx /proc/$1/exe -p $1 <<<"$backtrace" | 
    sed -n  \ 
    -e 's/^(gdb) //' \ 
    -e '/^#/p' \ 
    -e '/^Thread/p'

使用方法

pstack.sh pid

最新文章

  1. JSPatch热更新的利器.
  2. OpenCV2学习笔记(一)
  3. BZOJ AC800纪念
  4. PYTHON之批量文件指定字符串替换
  5. AC Me
  6. 使用PowerDesigner画ER图详细教程
  7. 读《图解HTTP》有感-(HTTP报文内的HTTP消息)
  8. C++各种优化
  9. vue render function &amp; dataset
  10. JAVA记录-JDBC介绍
  11. G - 生日蛋糕
  12. Android SDK下载和更新失败的如何解决
  13. linux 文件解锁
  14. ps基础学习笔记一
  15. ehlib使用内存表的方法
  16. oracle列自增实现(1)-Sequence+Trigger实现Oracle列自增
  17. MyEclipse移动开发教程:设置所需配置的iOS应用(二)
  18. UI5-文档-4.21-Data Types
  19. (int)()和int()强制类型转换
  20. 事物及exec

热门文章

  1. groupmod---更改群组识别码或名称
  2. js24---工厂模式2
  3. javascript创建对象的方法--动态原型模式
  4. java根据url获取完整域名
  5. 基于Linux系统的Nagios网络管理模块的实现
  6. 带你走进EJB--EJB和Spring对比(转)
  7. Codeforces Round #194 (Div. 2) 部分题解
  8. position(static-relative-absolute-fixed),margin(top-right-bottom-left),top-right-bottom-left
  9. 八、Docker+RabbitMQ
  10. 使用Multiplayer Networking做一个简单的多人游戏例子-1/2