Intellij Idea - การแก้จุดบกพร่อง

ดีบักเกอร์ทำให้การดีบักแอปพลิเคชันง่ายขึ้นมาก เมื่อใช้ดีบักเกอร์เราสามารถหยุดการทำงานของโปรแกรม ณ จุดหนึ่งตรวจสอบตัวแปรก้าวเข้าสู่ฟังก์ชันและทำหลาย ๆ อย่าง IntelliJ จัดเตรียมดีบักเกอร์ Java แบบ inbuilt

จุดพัก

เบรกพอยต์อนุญาตให้หยุดการทำงานของโปรแกรมในบางจุด สามารถตั้งค่าเบรกพอยต์ได้โดยการวางเมาส์เหนือพื้นที่รางน้ำของบรรณาธิการแล้วคลิกที่มัน

จุดพักแสดงโดยใช้สัญลักษณ์วงกลมสีแดง พิจารณาจุดพักที่กำหนดไว้ที่บรรทัดที่ 3

พิจารณาขั้นตอนต่อไปนี้เพื่อทำความเข้าใจเพิ่มเติมเกี่ยวกับวิธีการทำงานของเบรกพอยต์ -

  • คลิกขวาที่สัญลักษณ์วงกลมสีแดง

  • เลือกไฟล์ More ตัวเลือก.

  • หากต้องการลบเบรกพอยต์เพียงคลิกที่สัญลักษณ์เดียวกัน

ทำตามขั้นตอนเหล่านี้เพื่อเริ่มการดีบักเกอร์ -

  • ไปที่เมนู Run
  • เลือกตัวเลือก Debug

ก้าวเข้าสู่

ในขณะที่การดีบักหากพบฟังก์ชันและขั้นตอนในการดำเนินการถูกเลือกดีบักเกอร์จะหยุดการทำงานของโปรแกรมในแต่ละจุดของฟังก์ชันนั้นราวกับว่ามีการเปิดใช้งานการดีบักสำหรับฟังก์ชันนั้น

ตัวอย่างเช่นเมื่อการทำงานของโปรแกรมมาถึงบรรทัดที่ 9 และหากเราเลือกขั้นตอนในการดำเนินการมันจะหยุดการดำเนินการในแต่ละบรรทัดใน sayGoodBye() ฟังก์ชัน

ก้าวออกมา

การดำเนินการ Step out เป็นการย้อนกลับของ Step in action ตัวอย่างเช่นหากคุณดำเนินการขั้นตอนการดำเนินการกับสถานการณ์ข้างต้นดีบักเกอร์จะกลับมาจากไฟล์sayGoodBye() วิธีการและเริ่มดำเนินการที่บรรทัดที่ 10

ก้าวข้าม

Step over action ไม่เข้าสู่ฟังก์ชันแทน แต่จะข้ามไปยังบรรทัดถัดไปของโค้ด ตัวอย่างเช่นหากคุณอยู่ที่บรรทัดที่ 9 และดำเนินการตามขั้นตอนมากกว่าการกระทำมันจะย้ายการดำเนินการไปยังบรรทัดที่ 10

โปรแกรมดำเนินการต่อ

การดำเนินการ Resume Program จะดำเนินการโปรแกรมต่อไปโดยละเว้นจุดพักทั้งหมด

หยุดการกระทำ

การดำเนินการ Stop ช่วยหยุดการดีบักเกอร์

ก้าวเข้าสู่

ในขณะที่แก้ไขจุดบกพร่องบางครั้งเราอาจไปถึงบรรทัดรหัสที่เรียกใช้หลายวิธี เมื่อทำการดีบักบรรทัดของโค้ดเหล่านี้โดยทั่วไปแล้วดีบักเกอร์จะอนุญาตให้เราใช้step intoและนำเราผ่านฟังก์ชั่นลูกทั้งหมดจากนั้นกลับไปที่ฟังก์ชันหลัก อย่างไรก็ตามจะเป็นอย่างไรหากเราต้องการก้าวเข้าสู่ฟังก์ชันลูกเดียว? ด้วย Smart step-into ช่วยให้เราสามารถเลือกฟังก์ชั่นที่จะก้าวเข้ามาได้

ตอนนี้ให้เราสร้างคลาส Java ด้วยโค้ดบรรทัดต่อไปนี้ -

public class HelloWorld {
   public static void main(String[] args) {
      allFunctions();
   }
   static void allFunctions() {
      System.out.println(function1() + " " + function2() + " " + function3());
   }
   static String function1() {
      return "function1";
   }
   static String function2() {
      return "function2";
   }
   static String function3() {
      return "function3";
   }
}

ในโค้ดด้านบน allFunctions()เรียกอีก 3 ฟังก์ชั่น ให้เรากำหนดจุดพักที่ฟังก์ชันนี้ ทำตามขั้นตอนเหล่านี้เพื่อดำเนินการอย่างชาญฉลาดใน -

  • ไปวิ่ง
  • เลือกขั้นตอนที่ชาญฉลาดเป็น
  • เลือกฟังก์ชันลูกที่จะไป

การตรวจสอบตัวแปร

ในระหว่างการดีบัก IntelliJ จะแสดงค่าของตัวแปรในหน้าต่างตัวแก้ไขเอง นอกจากนี้เรายังสามารถดูข้อมูลเดียวกันได้ในหน้าต่าง Debug

ประเมินการแสดงออก

การประเมินการแสดงออกช่วยให้สามารถประเมินการแสดงออกได้ทันที ทำตามขั้นตอนเหล่านี้เพื่อดำเนินการนี้ -

  • เริ่มแอปพลิเคชันในดีบักเกอร์

  • นำทางไปยัง Run->Evaluate นิพจน์.

  • ใส่นิพจน์ ในตัวอย่างด้านล่างค่าปัจจุบันของตัวแปร 'i' คือ 0; ดังนั้นนิพจน์ 'i> 100' จะประเมินเป็นเท็จ