Untuk mendapatkan jejak stack dari semua thread Anda bisa menggunakan utilitas jstack, JConsole atau mengirim sinyal kill -quit (pada sistem operasi Posix).
Namun, jika Anda ingin melakukan ini secara terprogram Anda bisa mencoba menggunakan ThreadMXBean:
ThreadMXBean bean = ManagementFactory.getThreadMXBean();
ThreadInfo[] infos = bean.dumpAllThreads(true, true);
for (ThreadInfo info : infos) {
StackTraceElement[] elems = info.getStackTrace();
// Print out elements, etc.
}
Seperti yang disebutkan, jika Anda hanya ingin jejak tumpukan utas saat ini jauh lebih mudah - Cukup gunakan Thread.currentThread().getStackTrace()
;