ในขั้นตอนการดีบักรหัสเพื่อค้นหาและแก้ปัญหาได้ดีขึ้นบางครั้งเราจำเป็นต้องใช้วิธีการดีบักระยะไกล ในบทความนี้ลองมาดูวิธีการใช้ Ideallij Idea ในการดีบัก Tomcat ระยะไกล
ก่อนกำหนดระยะไกล:
ดังที่แสดงในรูปด้านบนคลิกแก้ไขการกำหนดค่าเพื่อป้อนอินเทอร์เฟซต่อไปนี้:
ดังที่แสดงในรูปด้านบนเราป้อนอินเตอร์เฟส Run/Debug Configurations จากนั้นคลิก + ที่มุมบนซ้ายและเลือกรีโมท:
ดังที่แสดงในรูปด้านบนมีสองประเภท: Mark 2 และ Mark 3 สำหรับ Mark 2
หมายเหตุ 2: วิธีการส่งค่าเริ่มต้นคือซ็อกเก็ต;
สำหรับฉลาก 3,
หมายเหตุ 3: โหมดการดีบัก, ค่าเริ่มต้นที่จะแนบ;
จากนั้นคัดลอกคำอธิบายประกอบ 1 พารามิเตอร์บรรทัดคำสั่งที่ Intellij Idea สร้างโดยอัตโนมัติและนำเข้าลงในไฟล์การกำหนดค่า Tomcat การใช้ระบบ Linux เป็นตัวอย่างคำสั่งนำเข้าคือ:
การคัดลอกรหัสมีดังนี้:
ส่งออก java_opts = '-agentlib: jdwp = transport = dt_socket, เซิร์ฟเวอร์ = y, suspend = n, ที่อยู่ = 5005'
หากเป็นระบบ Windows คำสั่งนำเข้าคือ:
การคัดลอกรหัสมีดังนี้:
ตั้งค่า java_opts = -agentlib: jdwp = transport = dt_socket, เซิร์ฟเวอร์ = y, suspend = n, ที่อยู่ = 5005
ความแตกต่างระหว่างทั้งสองคือคำหลักที่แตกต่างกันของคำสั่งนำเข้าและมีเครื่องหมายคำพูดหรือไม่ คำหลักนำเข้าของระบบ Linux คือการส่งออกและตั้งค่า Windows ค่าการนำเข้าของ Linux จะต้องอยู่ในราคาเดียวในขณะที่ Windows ไม่ได้
ถัดไปแก้ไขไฟล์ catalina.sh ในไดเรกทอรี bin ของ Tomcat (หากเป็นระบบ Windows ให้แก้ไขไฟล์ catalina.bat) และเพิ่มคำสั่งนำเข้าด้านบนลงในไฟล์นี้:
ณ จุดนี้การกำหนดค่าของ Intellij Idea Remote Debugging Tomcat เสร็จสมบูรณ์แล้วและขั้นตอนต่อไปของการดีบักจะทำตามเทคนิคการดีบักปกติ!
++++++ นอกหัวข้อ: ฉันเป็นไข่อีสเตอร์ขนาดใหญ่ +++++++
ที่นี่เราสมมติว่าที่อยู่ IP ของเซิร์ฟเวอร์คือ 10.11.12.39 และหมายเลขพอร์ตคือ 16203 หลังจากการตั้งค่าเสร็จสิ้นเราเข้าสู่โหมดการดีบัก หากการเชื่อมต่อสำเร็จพรอมต์ต่อไปนี้จะปรากฏขึ้น:
นอกจากนี้หากเราทำการดีบั๊กในหลาย ๆ ระบบเราจำเป็นต้องกำหนดค่าระยะไกลในระบบที่เราต้องการแก้ไขข้อบกพร่องตั้งเบรกพอยต์เริ่มต้นการดีบักแล้วดำเนินการโปรแกรมที่บริการเริ่มเข้าสู่จุดพักที่เราตั้งไว้ ยิ่งกว่านั้นถ้าเรากำหนดค่าระยะไกลในพื้นที่และเชื่อมโยงกับ Tomcat ในโหมดดีบักฟังก์ชั่นทั้งหมดที่เกี่ยวข้องกับรหัสที่จุดพักอยู่จะเข้าสู่จุดพักที่เราตั้งไว้
ตัวอย่างเช่นสำหรับ TOMCAT A บนเซิร์ฟเวอร์หลายระบบใช้ TOMCAT นี้เช่นระบบย่อยคำสั่งซื้อระบบย่อยบัญชีระบบย่อยการกำหนดเส้นทาง ฯลฯ และหลายระบบเรียกกัน หากระบบย่อยคำสั่งซื้อปรับระบบย่อยบัญชีและระบบย่อยบัญชีจะปรับระบบย่อยการกำหนดเส้นทางจากนั้นเมื่อเรากำหนดค่าระยะไกลในระบบย่อยทั้งสามนี้และสอบถามข้อมูลบัญชีของผู้ค้าในระบบย่อยคำสั่งซื้อเราจะตั้งจุดพักในระบบย่อยบัญชี ในระบบย่อยบัญชีเราคลิกไปที่บริการพื้นฐานอื่น ๆ เพื่อสอบถามยอดคงเหลือบัญชีของผู้ค้า ฯลฯ ) และหลังจากเริ่มโหมดการดีบักให้เรียกใช้ฟังก์ชันการสอบถามข้อมูลบัญชีของผู้ค้าในระบบย่อยคำสั่งผ่านการทดสอบหน่วยหรือการดำเนินการหน้า
นอกจากนี้หลังจากเรากำหนดค่าการดีบักระยะไกลแม้ว่าคนอื่น ๆ จะเริ่มบริการที่เกี่ยวข้องเราจะเข้าสู่จุดพักของเราและจะได้รับผลกระทบจากจุดพักที่เราตั้งไว้ บริการจะดำเนินการต่อไปหลังจากที่เราดำเนินการทดสอบ ในที่สุดฟังก์ชั่นการดีบักระยะไกลนั้นทรงพลังจริงๆ ใช้ประโยชน์จากการดีบักระยะไกลและอยู่ห่างจากข้อบกพร่อง!
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น