By Jeje - 20/11/2020
สำหรับลูกค้า 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/
Jejeเป็นผู้ที่มีความสนใจในเทคโนโลยีไอที และ Opensource เช่น Linux OS, CentOS, Zimbra, Zental
Jeje
เป็นผู้ที่มีความสนใจในเทคโนโลยีไอที และ Opensource เช่น Linux OS, CentOS, Zimbra, Zental