วิธีใช้ PyCharm เพื่อดีบักโค้ด Python ของคุณ

การดีบักโค้ดในภาษาใด ๆ อาจทำให้หงุดหงิด แต่โดยเฉพาะอย่างยิ่งใน Python ซึ่งเราไม่สามารถรับรู้ข้อบกพร่องได้ทันที

นอกจากนี้ Python ยังมีไลบรารี PDB ให้เราเป็นเครื่องมือสำหรับการดีบักซึ่งอาจเป็นเรื่องยากที่จะจัดการ

โชคดีที่เรามี PyCharm IDE มันใช้ PyDev และมอบประสบการณ์ใหม่ในการแก้จุดบกพร่อง!

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

จุดพัก

จุดพักอาจไม่จำเป็นเมื่อเรากำลังเผชิญกับข้อบกพร่องที่เกิดขึ้นในบางสภาวะ

นอกจากนี้เมื่อเรามีจำนวนมากมันจะยุ่งเหยิง

โชคดีที่ PyCharm ช่วยให้เราสามารถจัดการจุดพักได้อย่างมีประสิทธิภาพ:

  1. กด Ctrl + Shift + F8 (หรือ Run-> View Breakpoints)
  2. จุดพักทั้งหมดที่เราตั้งไว้ในโครงการจะแสดงตามที่แสดงด้านล่าง (ดู 1)

3. อย่างที่เราเห็นสำหรับแต่ละเบรกพอยต์เราสามารถกำหนดเงื่อนไขที่จะทริกเกอร์เบรกพอยต์ได้ (ดู 2)

4. นอกจากนี้เรายังสามารถตั้งเงื่อนไขที่พิเศษมากซึ่งควบคุมว่าเบรกพอยต์จะถูกทริกเกอร์หรือไม่เมื่อเกิดข้อยกเว้น (ดู 3) ในสองสถานะที่แตกต่างกัน:

ก. เมื่อสิ้นสุด (หลังจากสคริปต์จบลง)

ข. เมื่อเพิ่มขึ้น (ก่อนที่สคริปต์จะจบลง)

แนบกับกระบวนการท้องถิ่น

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

ใช่คุณทำได้ ! (และมันง่ายมาก!)

ไม่ว่าคุณจะดำเนินการกระบวนการอื่น ๆ ในเบื้องหลังหรือสร้างขึ้นเป็นส่วนหนึ่งของโฟลว์ PyCharm มีวิธีที่มีประสิทธิภาพมากในการดีบักกระบวนการระยะไกล:

  1. ดังที่แสดงด้านล่างเปิด Run-> Attach to Local Process

2. ตอนนี้เลือกกระบวนการ Python ที่คุณต้องการแก้ไข:

3. จากนั้นกระบวนการที่คุณเลือกจะถูกดีบั๊กใน PyCharm:

ล่าม Python พร้อมสภาพแวดล้อมที่โหลด

การคำนวณและจัดการตัวแปรของโค้ดที่แก้ไขปัจจุบันช่วยประหยัดเวลาและช่วยให้เราทำการเปลี่ยนแปลงบนแซนด์บ็อกซ์จริง!

PyCharm ให้ล่าม Python กับสภาพแวดล้อมที่โหลด

  1. บนแท็บคอนโซลกดปุ่มที่มีเครื่องหมาย:

2. ดังที่คุณเห็นด้านล่างล่ามจะรับรู้ตัวแปรของเรา!

สรุป

PyCharm มีเครื่องมือที่ยอดเยี่ยมมากมายให้เราและตัวแก้ไขข้อบกพร่องนี้ก็เป็นหนึ่งในนั้น

บางครั้งการดีบักอาจทำได้ยาก แต่ถ้าคุณใช้เครื่องมือที่เหมาะสมก็จะง่ายและสนุกยิ่งขึ้น!

ฉันหวังว่าบทความนี้จะสอนสิ่งใหม่ ๆ ให้คุณและฉันหวังว่าจะได้รับคำติชมของคุณ โปรดบอก - สิ่งนี้มีประโยชน์สำหรับคุณหรือไม่?