Python:
การใช้งานโปรแกรมดีบักเกอร์
วิธีการ:
มาแยกการใช้ pdb
, Debugger ที่มาพร้อมกับ Python กัน จินตนาการถึงไฟล์ชื่อ buggy.py
ที่มีบั๊กแอบแฝงอยู่:
def add_one(number):
result = number ++ 1
return result
print(add_one(7))
เมื่อเรียกใช้สคริปต์นี้ คุณคาดหวังว่าจะได้ 8
, แต่กลับได้แค่ข้อผิดพลาดทางไวยากรณ์ ถึงเวลาใช้ Debugger แล้ว!
ในเทอร์มินัล ให้รัน:
python -m pdb buggy.py
คุณจะเข้าสู่ Debugger และมันจะดูเป็นแบบนี้:
> /path_to_file/buggy.py(1)<module>()
-> def add_one(number):
ใช้ l(ist)
เพื่อดูโค้ดเพิ่มเติม, n(ext)
เพื่อไปยังบรรทัดถัดไป, หรือ c(ontinue)
เพื่อดำเนินการรันสคริปต์ต่อ หากคุณพบกับข้อผิดพลาด, pdb
จะหยุดและปล่อยให้คุณตรวจสอบ
หลังจากที่คุณแก้ไข number ++ 1
เป็น number + 1
, รีสตาร์ท Debugger เพื่อทดสอบการแก้ไข
จำไว้ว่า, คนเป็นเพื่อนกันไม่ให้เพื่อนเขียนโค้ดโดยไม่มีเครื่องมือช่วย. พอกันที.
ขุดลึกลงไป
ในยุคมืดของการเขียนโปรแกรม (กล่าวคือ ก่อนที่สภาพแวดล้อมการพัฒนาแบบบูรณาการ, หรือ IDEs, จะเป็นที่นิยมไปทั่ว), Debugger มักจะเป็นเครื่องมือแยกที่คุณใช้นอกตัวแก้ไขข้อความ พวกมันมาช่วยเหลือด้วยการอนุญาตให้โปรแกรมเมอร์ตรวจสอบสถานะซอฟต์แวร์ของพวกเขาในจุดต่างๆ ของการดำเนินการ
ณ ปี 2023, Python’s pdb
ไม่ใช่ตัวเลือกเดียวในพื้นที่นี้ IDEs เช่น PyCharm หรือ Visual Studio Code, ซึ่งมี Debugger ของตัวเองที่มีความพิเศษ มีฟีเจอร์เจ๋งๆ เช่น การตั้งจุดหยุด (breakpoints) ที่คุณสามารถตั้งได้ด้วยการคลิกเมาส์ ไม่ต้องพิมพ์คำสั่งที่ซับซ้อน
จากนั้นมี ipdb
, แพ็คเกจที่ติดตั้งได้ผ่าน pip ซึ่งนำความดีงามของ IPython
มาสู่การ Debug มันเหมือนกับ pdb
ที่ได้รับการเสริมสมรรถนะ, มีความสามารถในการเติมข้อความอัตโนมัติและเน้นไวยากรณ์
Debugger ยังแตกต่างกันในแง่ของการดำเนินงาน บางตัวใกล้ชิดกับการดำเนินงานของโปรแกรมในระดับเครื่องจักรหรือรหัสไบต์ ในขณะที่ตัวอื่นๆ อย่าง Debugger ภาษาระดับสูง, รันโค้ดในสภาพแวดล้อมพิเศษที่ตรวจสอบสถานะตัวแปรและควบคุมการไหลของการดำเนินการ
ดูเพิ่มเติม
หากต้องการรายละเอียดเพิ่มเติมเกี่ยวกับ Debugger ของ Python เอง, ตรวจสอบที่:
- เอกสาร
pdb
: https://docs.python.org/3/library/pdb.html
หากคุณสนใจตัวเลือกอื่น, ลิงก์เหล่านี้จะช่วยคุณได้:
- ที่เก็บข้อมูลและคู่มือการใช้งาน
ipdb
: https://github.com/gotcha/ipdb - การ Debug ด้วย Visual Studio Code: https://code.visualstudio.com/docs/python/debugging
- ฟีเจอร์การ Debug ของ PyCharm: https://www.jetbrains.com/help/pycharm/debugging-code.html
ขอให้สนุกกับการล่าบั๊ก!