Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จุดประสงค์ของการใช้วิธี dumpStack() ใน Java คืออะไร?


The dumpStack() วิธีเป็น วิธีคงที่ ของ กระทู้ คลาส และสามารถใช้พิมพ์หรือแสดงการติดตามสแต็กของเธรดปัจจุบันไปยัง System.err . วัตถุประสงค์ของ dumpStack() วิธีการนั้นเป็น สำหรับการดีบัก และภายในเมธอดนี้เรียก printStackTrace() วิธีการ ทิ้งได้ ระดับ. วิธีการนี้ไม่มีข้อยกเว้น

ไวยากรณ์

public static void dumpStack()

ตัวอย่าง

public class ThreadDumpStackTest {
   public static void main(String args[]) {
      Thread t = Thread.currentThread();
      t.setName("ThreadDumpStackTest");
      t.setPriority(1);
      System.out.println("Current Thread: " + t);
      int count = Thread.activeCount();
      System.out.println("Active threads: " + count);
      Thread threads[] = new Thread[count];
      Thread.enumerate(threads);
      for (int i = 0; i < count; i++) {
         System.out.println(i + ": " + threads[i]);
      }
      Thread.dumpStack();
   }
}

ผลลัพธ์

Current Thread: Thread[ThreadDumpStackTest,1,main]
Active threads: 1
0: Thread[ThreadDumpStackTest,1,main]
java.lang.Exception: Stack trace
        at java.lang.Thread.dumpStack(Thread.java:1336)
        at ThreadDumpStackTest.main(ThreadDumpStackTest.java:14)