打印堆栈
来源:互联网 发布:程序员 年薪 编辑:程序博客网 时间:2024/04/29 10:57
public class Trace{
public static void main(String[] args){
Thread[] list = Trace.findAllThreads();
for(Thread thread: list){
StackTraceElement[] trace = thread.getStackTrace();
for(StackTraceElement tra:trace){
System.out.println(tra.toString());
}
}
}
public static Thread[] findAllThreads() {
ThreadGroup group = Thread.currentThread().getThreadGroup();
ThreadGroup topGroup = group;
// 遍历线程组树,获取根线程组
while (group != null) {
topGroup = group;
group = group.getParent();
}
// 激活的线程数加倍
int estimatedSize = topGroup.activeCount() * 2;
Thread[] slackList = new Thread[estimatedSize];
// 获取根线程组的所有线程
int actualSize = topGroup.enumerate(slackList);
// copyintoalistthatistheexactsize
Thread[] list = new Thread[actualSize];
System.arraycopy(slackList, 0, list, 0, actualSize);
return list;
}
}
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
java.lang.Thread.getStackTrace(Thread.java:1436)
test.main(test.java:33)
- 打印堆栈
- 打印堆栈
- 打印堆栈
- 打印堆栈
- 打印堆栈
- 打印调用堆栈
- 堆栈打印的方法
- 打印调用堆栈
- IOS打印调用堆栈
- 打印tombstone堆栈脚本
- 打印函数调用堆栈
- ExceptionUtil:打印堆栈信息
- android 打印堆栈
- 打印调用堆栈
- 打印调用堆栈
- 打印调用堆栈
- c++ 打印堆栈信息
- Android 打印堆栈
- Properties
- 图像处理实验
- 图像处理实验
- CTime与DWORD之间的转换
- Java之异常与错误的区别及java的异常体系
- 打印堆栈
- flash 用as2.0 获取系统时间
- 数字转换成大写汉字
- Apriori algorithem 中需要修改的一段
- 如何在安装Linux之后自己修改Swap分区大小
- OGNL表达式例子 # $ %的区别和各自的用法
- 需要确认的问题
- linux中 启动方式 图形模式 文本模式
- 032_《Delphi下用Intraweb开发WEB程序应用实战(第二版)》