ศูนย์คู่มือ Ruk-Com PaaS

คู่มือการพัฒนา Deploy และดูแล Application บน Platform

RUK-COM PAAS / APPLICATION SETTINGS

Remote Debugging

คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี

ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง

ปรับปรุงตามเอกสาร Platform ปัจจุบัน

ตรวจสอบชื่อเมนู ตัวเลือก และข้อกำหนดล่าสุดจากเนื้อหาภาษาอังกฤษในหน้าเดียวกันก่อนดำเนินการกับระบบจริง

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

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

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

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

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

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

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

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

การสร้าง Environment

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

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

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

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

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

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

4. ขยาย Application Manifest Servers เพื่อดูหมายเลขPublic IPของคุณ

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

DeployApplication

คลิกปุ่ม Deployment ที่ environment ของคุณจากนั้นอัปโหลด Package Java แล้วกดDeploy

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

ยกตัวอย่าง เราใช้ Application อย่างง่ายที่เริ่มต้นด้วยตัวแปร 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);
       }
}

กำหนดค่าการ Debug

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

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

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

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

3. กลับไปที่หน้า Dashboard คลิกปุ่มการกำหนดค่าสำหรับ 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

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

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

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

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

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

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

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

ในกรณีที่คุณใช้ GlassFish เป็น Application เซิร์ฟคุณต้องระบุ 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
  • บันทึกการเปลี่ยนแปลงทั้งหมดและRestartปลาแก้ว

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