Πώς μπορώ να λάβω το τρέχον ίχνος στοίβας στη Java, όπως στο .NET μπορείτε να κάνετε Environment.StackTrace
;
Παρεμπιπτόντως, η Thread.dumpStack()
δεν είναι αυτό που θέλω - θέλω να πάρω πίσω το ίχνος στοίβας, όχι να το εκτυπώσω.
Μπορείτε να χρησιμοποιήσετε το Thread.currentThread().getStackTrace()
.
Αυτό επιστρέφει έναν πίνακα από StackTraceElement
s που αναπαριστούν το τρέχον ίχνος στοίβας ενός προγράμματος.
Ανόητε, είναι Thread.currentThread().getStackTrace();
try {
}
catch(Exception e) {
StackTraceElement[] traceElements = e.getStackTrace();
//...
}
ή
Thread.currentThread().getStackTrace()