สำหรับลูกค้า Domino บน v9 หรือ 10 คุณอาจคุ้นเคยกับการแก้จุดบกพร่อง (Debug) Java agent จากระยะไกลบน IBM JVM โดยใช้เซิร์ฟเวอร์ต่อไปนี้ในและตั้งค่า Port 8000 ใน Debug Configuration จากไคลเอ็นต์ Designer:
JavaEnableDebug=1
JavaDebugOptions=transport=dt_socket,server=y,suspend=n,address=8000
สิ่งนี้จะใช้ได้กับ Domino v10 แต่ไม่สามารถใช้ได้กับ Domino v11 ในความเป็นจริงการทำเช่นนั้นจะทำให้พัง! บทความนี้จะช่วยนักพัฒนาที่มองหาวิธีการแก้จุดบกพร่อง (Debug) Java agent จากระยะไกลบน Domino v11 ข้อกำหนดเบื้องต้นคือ:
- Domino v11 ขึ้นไปบน Windows Server 2016/2019
- HCL Domino Console
- Notes, Designer และ Administrator Client v11 ขึ้นไป
- Java agent ที่จะแก้จุดบกพร่อง (Debug)
- เว็บเบราว์เซอร์ใด ๆ เพื่อรัน Java agent
Domino v11 ใช้ OpenJDK เมื่อเปิดใช้งาน ini ข้างต้น JVM ทั้งสองจะพยายามเชื่อมโยงกับพอร์ตเดียวกัน (8000) และกระบวนการที่สองที่พยายามเชื่อมโยงกับพอร์ตนี้จะล้มเหลวและขัดข้อง เพื่อแก้ปัญหานี้แนวคิดคือการลบ Port 8000 ออกจาก Debug และแนบเข้ากับ Port แบบสุ่มอื่น ๆ
ขั้นแรกคุณจะต้องเพิ่ม ini ด้านล่างลงใน note.ini ของเซิร์ฟเวอร์
JavaEnableDebug=1
JavaDebugOptions=transport=dt_socket,server=y,suspend=n
โปรดทราบว่าเราไม่ได้ผูกดีบักกับพอร์ต 8000 โดยการละเว้น address = 8000 เมื่อเทียบกับ ini ที่ตั้งค่าไว้ใน Domino เวอร์ชันก่อนหน้า
JVM จะเลือกพอร์ตแบบสุ่ม หากต้องการทราบหมายเลขพอร์ตแบบสุ่มเพียงแค่ปิดและโหลด http หรือเรียกใช้ Java agent จากเว็บเบราว์เซอร์และตรวจสอบคอนโซลจาก HCL Domino Console Program คุณจะต้องรีสตาร์ทงาน http หลังจากเพิ่ม ini เหล่านั้นเพื่อให้ทำงานได้
จดหมายเลขพอร์ตนี้ไว้ที่ใดที่หนึ่งตามที่คุณต้องการในขั้นตอนต่อไป (คอนโซลเซิร์ฟเวอร์ใน Administrator Client ไม่แสดงข้อมูลหมายเลขพอร์ต)
ด้วยหมายเลขพอร์ตของคุณคุณจะเชื่อมโยงกับ Debug จากไคลเอนต์ Designer ไปที่เมนูเครื่องมือ> แก้จุดบกพร่อง (Debug) Javascript ฝั่งเซิร์ฟเวอร์> จัดการการกำหนดค่าการดีบัก
คุณควรเข้าสู่หน้าต่าง Debug Configuration ที่นี่คุณต้องระบุหมายเลขพอร์ตที่คุณจดบันทึกไว้จาก HCL Domino Console ในขั้นตอนก่อนหน้านี้จากนั้นเลือก“ Debug”
คุณควรเห็นข้อความนี้ในแถบสถานะซึ่งยืนยันว่า Debug ได้เชื่อมต่อกับหมายเลขพอร์ตที่คุณกล่าวถึง
ตอนนี้คุณพร้อมกับคอนฟิกูเรชันการดีบักและตั้งค่าเพื่อดีบักเอเจนต์ Java ของคุณ คุณจะต้องตั้งค่าเบรกพอยต์ในโค้ด Java ของคุณเพื่อดีบักเดียวกัน คุณสามารถตั้งค่าจุดพักได้หลายจุด
เมื่อคุณตั้งค่าเบรกพอยต์ในโค้ดของคุณแล้วให้รันเอเจนต์จากเว็บเบราว์เซอร์ คุณควรเห็นหน้าต่างการยืนยันบนไคลเอนต์ Designer เพื่อเปิดหน้าต่างมุมมองการดีบัก เลือก“ ใช่”
มุมมองของนักออกแบบจะเปลี่ยนเป็นมุมมองการดีบักซึ่งมีมุมมองสำหรับการแสดงกองดีบักตัวแปรและการจัดการจุดพัก
ณ จุดนี้คุณสมบัติดีบักเกอร์ Eclipse ตามปกติจะพร้อมใช้งาน (การจัดการเบรกพอยต์การก้าวการดำเนินการต่อการดูค่าตัวแปร ฯลฯ )
ขั้นตอนในการแก้จุดบกพร่อง (Debug) Java agent ที่กำหนดเวลาไว้ (AMGR) จะยังคงเหมือนเดิม แทนที่จะรอจนกว่าจะกำหนดเวลาเอเจนต์ให้รันเอเจนต์จากคอนโซลเซิร์ฟเวอร์โดยใช้คำสั่ง“ Tell amgr run” รับหมายเลขพอร์ตจาก HCL Domino Console Program โดยรัน Java agent โดยใช้คำสั่ง“ Tell amgr run” จากนั้นตั้งค่าหมายเลขพอร์ตในการกำหนดค่าการดีบักตามที่เราทำในขั้นตอนก่อนหน้านี้
เสร็จสิ้นขั้นตอนเกี่ยวกับวิธีที่คุณสามารถแก้จุดบกพร่อง (Debug) Java agent จากระยะไกลบน Domino v11
ที่มา : https://blog.hcltechsw.com/domino/remotely-debugging-java-applications-with-domino-11/