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 เอง, ตรวจสอบที่:

หากคุณสนใจตัวเลือกอื่น, ลิงก์เหล่านี้จะช่วยคุณได้:

ขอให้สนุกกับการล่าบั๊ก!