ใช้ Run Code / Run เมื่อคุณต้องการรันโปรแกรมของคุณและดูผลลัพธ์ ใช้ Debug เมื่อคุณต้องการหยุดที่บรรทัดหนึ่ง, ตรวจสอบตัวแปร, และหาสาเหตุว่าทำไมผลลัพธ์ถึงผิดพลาด การดีบักมีประโยชน์โดยเฉพาะเมื่อโค้ดของคุณทำงานโดยไม่มีข้อผิดพลาดแต่ให้คำตอบที่ไม่คาดคิด.

คู่มือนี้ใช้ CodeUtility Python executor และตัวอย่างการคำนวณเล็กน้อย การทำงานกับจุดหยุดและการก้าวผ่านยังใช้ได้กับ executor อื่น ๆ ที่มี Debug ให้ใช้งาน การสนับสนุนและการควบคุมในระหว่างการทำงานอาจแตกต่างกัน; ใช้เซิร์ฟเวอร์รันไทม์ที่รองรับสำหรับการเดินทางใน Python นี้ ภาพหน้าจอแสดงอินเทอร์เฟซภาษาอังกฤษ.

1. ลองโปรแกรมเล็ก ๆ ที่มีข้อผิดพลาดทางตรรกะ

เปิด Python executor, เลือก Python 3.11 ในเมนูเวอร์ชัน, และป้อนสี่บรรทัดต่อไปนี้ ราคาที่ 12 คูณด้วยจำนวน 3 ควรให้ผลลัพธ์เป็น 36 โปรแกรมนี้ตั้งใจใช้การบวก ดังนั้นจึงให้ผลลัพธ์เป็น 15.

price = 12
quantity = 3
total = price + quantity
print(total)

2. ตั้งจุดหยุดก่อนเริ่ม Debug

คลิกในช่องด้านซ้ายข้าง บรรทัด 3, บรรทัดที่มี total = price + quantity. เครื่องหมายจุดหยุดสีแดงจะปรากฏขึ้น จุดหยุดบอกดีบักเกอร์ว่าควรหยุดที่ไหน คลิกที่เครื่องหมายอีกครั้งเพื่อลบมัน วางจุดหยุดบนคำสั่งที่สามารถทำงานได้แทนที่จะเป็นบรรทัดว่างหรือความคิดเห็น.

จุดหยุดสีแดงข้างบรรทัด 3 ทำเครื่องหมายว่าการดำเนินการควรหยุดที่ไหน.
จุดหยุดสีแดงข้างบรรทัด 3 ทำเครื่องหมายว่าการดำเนินการควรหยุดที่ไหน.

3. เริ่ม Debug และตรวจสอบค่า

เลือก Debug ในแถบเครื่องมือของตัวแก้ไข; เลื่อนเมาส์ไปที่ไอคอนเพื่อดูป้ายชื่อของมัน รอให้หน้าต่างดีบักเกอร์รายงาน Paused at line 3. หยุดหมายความว่าโปรแกรมกำลังรอการดำเนินการดีบักครั้งถัดไปของคุณ.

ดูที่ VARIABLES: price คือ 12 และ quantity คือ 3. บรรทัด 3 ยังไม่ได้ดำเนินการ ดังนั้น total จึงไม่ปรากฏ รายการที่เน้นคือคำสั่งถัดไปที่จะดำเนินการ CALL STACK แสดงว่าการดำเนินการหยุดอยู่ที่ไหน.

หยุดก่อนบรรทัด 3: price คือ 12 และ quantity คือ 3; total ยังไม่ได้ถูกกำหนด.
หยุดก่อนบรรทัด 3: price คือ 12 และ quantity คือ 3; total ยังไม่ได้ถูกกำหนด.

4. ก้าวผ่านการคำนวณ

คลิก Step Over หนึ่งครั้ง การดำเนินการจะย้ายไปยังบรรทัด 4 และ total ตอนนี้ปรากฏด้วยค่า 15. นี่แสดงให้เห็นว่าคำตอบที่ผิดมาจากการบวกสองค่าบนบรรทัด 3.

หลังจาก Step Over, ดีบักเกอร์หยุดที่บรรทัด 4 และแสดง total = 15.
หลังจาก Step Over, ดีบักเกอร์หยุดที่บรรทัด 4 และแสดง total = 15.

Continue จะดำเนินการต่อจนกว่าจะถึงจุดหยุดอีกจุดหนึ่งหรือโปรแกรมจะเสร็จสิ้น Step Over จะดำเนินการคำสั่งปัจจุบันโดยไม่ต้องเข้าไปในฟังก์ชันที่ถูกเรียก Step Into จะเข้าไปในฟังก์ชันที่ถูกเรียกเมื่อรองรับ Step Out จะทำงานจนกว่าฟังก์ชันปัจจุบันจะส่งคืน Stop, แสดงเป็นไอคอนสี่เหลี่ยม, จะสิ้นสุดเซสชันการดีบัก.

5. แก้ไขโค้ดและรันอีกครั้ง

เลือก Continue เพื่อเสร็จสิ้นตัวอย่าง หรือ Stop เพื่อสิ้นสุดเซสชัน แทนที่เครื่องหมายบวกในบรรทัด 3 ด้วยเครื่องหมายคูณ จากนั้นเลือก Run Code / Run เพื่อตรวจสอบผลลัพธ์ คุณควรเห็น 36. คุณยังสามารถเริ่ม Debug อีกครั้งและใช้ Step Over เพื่อตรวจสอบค่าที่แก้ไขแล้ว.

price = 12
quantity = 3
total = price * quantity
print(total)

ถ้าการดีบักไม่หยุดที่ที่คุณคาดหวัง

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

สำหรับเซสชันการดีบักครั้งถัดไป วางจุดหยุดก่อนการคำนวณที่น่าสงสัย ตรวจสอบข้อมูลนำเข้า และก้าวไปข้างหน้าจนกว่าคุณจะพบค่าที่ไม่คาดคิดครั้งแรก หากคุณต้องการเพียงผลลัพธ์สุดท้าย ให้เลือก Run Code.