JDB - เซสชัน
บทนี้อธิบายถึงวิธีการเริ่มเซสชัน JDB ด้วยวิธีต่างๆ การเรียกใช้ JDB เป็นเทคนิคที่ใช้บ่อยในการเริ่มเซสชัน JDB
มีสองวิธีที่แตกต่างกันในการเริ่มเซสชัน JDB:
- เริ่มต้นเซสชัน JDB โดยเพิ่มคลาส (ชื่อคลาสหลัก) เข้าไป
- การเพิ่ม JDB เพื่อรัน JVM เพื่อเริ่มเซสชัน
เริ่มเซสชันโดยการเพิ่มคลาส
คำสั่งต่อไปนี้เริ่มเซสชัน JDB:
ไวยากรณ์
\>jdb <classname>
ตัวอย่าง
สมมติว่าเรามีคลาสชื่อ TestClass. คำสั่งต่อไปนี้เริ่มต้นเซสชัน JDB จาก TestClass
\>jdb TestClass
หากคุณทำตามคำสั่งนี้จะเริ่ม Java VM ใหม่ด้วยพารามิเตอร์ที่ระบุ หลังจากนั้นจะโหลดคลาสและหยุดก่อนที่จะดำเนินการคำสั่งแรกของคลาส
เริ่มเซสชันโดยการเพิ่ม JDB ไปยัง JVM ที่กำลังรันอยู่
ด้านล่างนี้คือไวยากรณ์และตัวอย่างในการเริ่มต้นเซสชัน JDB โดยการเพิ่ม JDB ให้กับ JVM ที่รันอยู่
ไวยากรณ์
ไวยากรณ์ต่อไปนี้ใช้สำหรับเซสชัน JDB:
-agentlib:jdwp=transport=dt_shmem,address=
,server=y,suspend=n
ตัวอย่าง
ให้เราถือว่าชื่อชั้นหลักคือ TestClassและ JVM อนุญาตให้ JDB เชื่อมต่อในภายหลัง ต่อไปนี้เป็นคำสั่งเพื่อเพิ่ม JDB ให้กับ JVM:
\>java
-agentlib:jdwp=transport=dt_shmem,address=jdbconn,server=y,suspend=n TestClass
ตอนนี้คุณสามารถแนบ JDB กับ JVM ด้วยคำสั่งต่อไปนี้:
\> jdb -attach jdbconn
Note: ที่นี่ TestClass ไม่ถูกเพิ่มลงในคำสั่ง JDB เนื่องจาก JDB เชื่อมต่อกับ VM ที่รันอยู่แทนที่จะเรียกใช้งานใหม่