การดีบักระยะไกล
คู่มือนี้เรียบเรียงและปรับรูปแบบสำหรับ 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 ใหม่

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

ภายในไม่กี่นาที environment จะถูกสร้างขึ้น
4. ขยายรายการ Application Servers เพื่อดูหมายเลขไอพีสาธารณะของคุณ

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

ยกตัวอย่าง เราใช้แอปพลิเคชันอย่างง่ายที่เริ่มต้นด้วยตัวแปร 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 ใหม่ (ดีบักโปรเจ็กต์หลัก > แนบดีบักเกอร์)

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

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

4. ไปที่ไฟล์ตัวแปร.confและเพิ่ม 2 arguments:-Xdebugและ-Xrunjdwp
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5000

หมายเหตุ:หมายเลขพอร์ตในตัวแปร.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
- บันทึกการเปลี่ยนแปลงทั้งหมดและรีสตาร์ทปลาแก้ว
หวังว่าคำแนะนำนี้จะเป็นประโยชน์สำหรับคุณ