diff options
Diffstat (limited to 'plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/ReflectUtil.java')
-rw-r--r-- | plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/ReflectUtil.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/ReflectUtil.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/ReflectUtil.java index 3b4814eb8c..ceb96f9f90 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/ReflectUtil.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/ReflectUtil.java @@ -226,6 +226,28 @@ public final class ReflectUtil } } + /** + * @since 3.8 + */ + public static String dumpThread() + { + StringBuilder builder = new StringBuilder(); + + Thread thread = Thread.currentThread(); + builder.append(thread); + builder.append(StringUtil.NL); + + StackTraceElement[] stackTrace = thread.getStackTrace(); + for (int i = 2; i < stackTrace.length; i++) + { + StackTraceElement stackTraceElement = stackTrace[i]; + builder.append("\tat " + stackTraceElement); //$NON-NLS-1$ + builder.append(StringUtil.NL); + } + + return builder.toString(); + } + public static void printStackTrace(PrintStream out, StackTraceElement[] stackTrace) { for (int i = 2; i < stackTrace.length; i++) |