zoukankan      html  css  js  c++  java
  • Android打印当前所有线程及对应栈信息

            Map<Thread, StackTraceElement[]> threadMap = Thread.getAllStackTraces();
            Log.e("albertThreadDebug","all start==============================================");
            for (Map.Entry<Thread, StackTraceElement[]> entry : threadMap.entrySet()) {
                Thread thread = entry.getKey();
                StackTraceElement[] stackElements = entry.getValue();
                Log.e("albertThreadDebug","name:"+thread.getName()+" id:"+thread.getId()+" thread:"+thread.getPriority()+" begin==========");
                for (int i = 0; i < stackElements.length; i++) {
                    StringBuilder stringBuilder = new StringBuilder("    ");
                    stringBuilder.append(stackElements[i].getClassName()+".")
                            .append(stackElements[i].getMethodName()+"(")
                            .append(stackElements[i].getFileName()+":")
                            .append(stackElements[i].getLineNumber()+")");
                    Log.e("albertThreadDebug",stringBuilder.toString());
                }
                Log.e("albertThreadDebug","name:"+thread.getName()+" id:"+thread.getId()+" thread:"+thread.getPriority()+" end==========");
            }
            Log.e("albertThreadDebug","all end==============================================");

    这对调试死锁及各种线程阻塞比较有用。

  • 相关阅读:
    LeetCode 225. 用队列实现栈 做题笔记
    杨辉三角
    字母图形
    01字符串
    圆的面积
    饮料和啤酒
    进制转换
    从今天起 复习算法
    乘法群
    Paillier同态加密的介绍以及c++实现
  • 原文地址:https://www.cnblogs.com/albert1017/p/8047242.html
Copyright © 2011-2022 走看看