Bạn cũng có thể gửi tín hiệu đến JVM để thực thi Thread.get ALLStackTraces () trên một quy trình Java đang chạy bằng cách gửi tín hiệu QUIT đến quy trình.
Trên Unix / Linux sử dụng:
kill -QUIT process_id
, trong đó process_id là số tiến trình của chương trình Java của bạn.
Trên Windows, bạn có thể nhấn Ctrl-Break trong ứng dụng, mặc dù bạn thường không thấy điều này trừ khi bạn đang chạy một quy trình điều khiển.
JDK6 đã giới thiệu một tùy chọn khác, lệnh jstack, sẽ hiển thị ngăn xếp từ bất kỳ quy trình JDK6 nào đang chạy trên máy tính của bạn:
jstack [-l] <pid>
Các tùy chọn này rất hữu ích cho các ứng dụng đang chạy trong môi trường sản xuất và không thể sửa đổi dễ dàng. Chúng đặc biệt hữu ích để chẩn đoán các bế tắc thời gian chạy hoặc các vấn đề về hiệu suất.
http://java.sun.com/developer/technicalArticles/Programming/Stacktrace/
http://java.sun.com/javase/6/docs/technotes/tools/share/jstack.html