CLOUD PAAS / APPLICATION SETTINGS

การดีบักระยะไกล

คู่มือนี้เรียบเรียงและปรับรูปแบบสำหรับ Ruk-Com Cloud PaaS ภาพหน้าจออาจแตกต่างเล็กน้อยตามเวอร์ชันของระบบ

คลิกหรือแตะภาพหน้าจอเพื่อดูรายละเอียดขนาดจริง

วัตถุประสงค์

บทความนี้อธิบายการใช้งาน การดีบักระยะไกล บน Ruk-Com Cloud PaaS โดยจัดลำดับขั้นตอนและจุดตรวจสอบสำหรับการนำไปใช้งานจริง

ก่อนเริ่มดำเนินการ

  • เข้าสู่ระบบด้วยบัญชีที่มีสิทธิ์จัดการ Environment ที่เกี่ยวข้อง
  • ตรวจสอบชื่อ Environment, Region และทรัพยากรเป้าหมายก่อนบันทึกการเปลี่ยนแปลง
  • สำรองข้อมูลหรือกำหนดแผนย้อนกลับก่อนแก้ไขระบบ Production

การใช้ public IP ทำให้คุณสามารถ remote debugging ได้ คุณสามารถ debug แอปพลิเคชันของคุณภายใน Ruk-Com Cloud platform โดยเชื่อมต่อกับโค้ดใน IDE ของคุณ ในขั้นตอนแรกพิจารณาลักษณะพื้นฐานของการ remote debugging

Remote Debugging ทำงานอย่างไร

Java จัดเตรียมฟีเจอร์นี้โดยใช้กลไกการโยงตัวฟัง แนวคิดพื้นฐานค่อนข้างง่ายและเป็นพื้นฐาน:

  • แอปพลิเคชันที่จะทำ debug จะแนบ socket เข้ากับตัวมันเองจากนั้นจะฟังคำแนะนำการดีบักบน socket นั้น
  • Debugger จะผูกตัวเองกับ socket นั้นและส่งส่งคำแนะนำบน socket นั้น

การสร้าง Environment

1. เข้าสู่ระบบ Ruk-Com Cloud Dashboard

2. คลิก New Environment เพื่อตั้งค่า environment ใหม่

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

3. เลือกอินสแตนซ์ที่คุณต้องการใช้ (ยกตัวอย่างเช่น, แมวตัวผู้application sever) ดูขีดจำกัด cloudlets และเปิดไอพีภายนอกจากนั้นใส่ชื่อ environment แล้วคลิกปุ่มสร้าง

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

ภายในไม่กี่นาที environment จะถูกสร้างขึ้น

4. ขยายรายการ Application Servers เพื่อดูหมายเลขไอพีสาธารณะของคุณ

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

ปรับใช้แอปพลิเคชัน

คลิกปุ่ม Deployment ที่ environment ของคุณจากนั้นอัปโหลดแพ็คเกจ Java แล้วกดปรับใช้

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

ยกตัวอย่าง เราใช้แอปพลิเคชันอย่างง่ายที่เริ่มต้นด้วยตัวแปร 3 ตัว (a, b, c)

package com;
public class RemoteDebugger {

   public void start () {
       int a,b,c;
       a = 1;
       System.out.println("a = "+ a);
       b = 2;
       System.out.println("b = "+ b);
       c = 3;
       System.out.println("c = "+ c);
       }
}

กำหนดค่าการดีบัก

1 เปิดแอปพลิเคชันใน IDE ของคุณ (ยกตัวอย่างเช่นเน็ตบีนส์) และสร้าง Debugger ใหม่ (ดีบักโปรเจ็กต์หลัก > แนบดีบักเกอร์)

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

2. เลือกประเภทของ Connector ใส่ Public IP address (host) หมายเลขพอร์ตของคุณและระบุการตั้งค่า Timeout (ไม่บังคับ)

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

3. กลับไปที่หน้าแดชบอร์ด คลิกปุ่มการกำหนดค่าสำหรับ Tomcat

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

4. ไปที่ไฟล์ตัวแปร.confและเพิ่ม 2 arguments:-Xdebugและ-Xrunjdwp

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5000
ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

หมายเหตุ:หมายเลขพอร์ตในตัวแปร.confและดีบักเกอร์ควรเหมือนกัน

5. บันทึกการเปลี่ยนแปลงและรีสตาร์ทแมวตัวผู้

6. ใส่ break point ที่โค้ดของคุณเพื่อทดสอบ Remote Debugging และเริ่มต้น debugger ที่สร้างขึ้นใหม่ในกรณีของเรา แอปพลิเคชันควรเริ่มต้นเพียงสองตัวแปรแทนที่จะเป็นสามตัว

ตรวจสอบ Tomcat logs เพื่อดูให้แน่ใจว่าการ debug ทำงานอย่างถูกต้อง

คุณจะเห็นว่าตัวแปรสองตัวได้รับการเตรียมใช้งานแล้ว

7. หากวาง break point หนึ่งแถวลง ตัวแปรสามตัวจะถูกเริ่มต้นใช้งานในแอปของคุณ

เคล็ดลับ:คำแนะนำข้างต้นเหมาะสำหรับ Jetty application server

ในกรณีที่คุณใช้ GlassFish เป็นแอปพลิเคชันเซิร์ฟคุณต้องระบุ arguments:-Xdebugและ-Xrunjdwpผ่านหน้า admin pannel

  • เมื่อคุณสร้าง environment ระบบจะส่งอีเมลพร้อมข้อมูลรับรองไปยัง GlassFish Admin Console คุณสามารถเข้าสู่ระบบด้วยข้อมูลประจำตัวเหล่านี้
  • ไปที่gfcluster-กำหนดค่า > การตั้งค่า JVMและเลือกแท็บทั่วไป > ตัวเลือกการแก้ไขข้อบกพร่องจากนั้นระบุ debug mode และ debug parameters ของคุณ
  • ไปที่ตัวเลือก JVMและเพิ่ม 2 arguments: -Xdebug และ -Xrunjdwp:transport=dt_socket, server=y, suspend=n, address=5000
  • บันทึกการเปลี่ยนแปลงทั้งหมดและรีสตาร์ทปลาแก้ว

หวังว่าคำแนะนำนี้จะเป็นประโยชน์สำหรับคุณ