นี่คือวิธีที่คุณจะใช้ pdb ในบรรทัดคำสั่งโดยไม่ต้องใช้อะไรเลยในซอร์สโค้ดของคุณ (เอกสารและแหล่งข้อมูลออนไลน์อื่น ๆ ไม่ได้ผลดีที่จะอธิบายสิ่งนี้ให้กับโปรแกรมเมอร์ที่เคยใช้ตัวแก้ไขภาพเท่านั้นในอดีต):
เริ่ม pdb โดยพิมพ์คำสั่งต่อไปนี้ในเชลล์พร้อมต์:
python -m pdb 'python_script'
คำสั่งนี้เริ่มต้น pdb และดีบักเกอร์ pdb จะแตกที่บรรทัดแรกของ python_script ของคุณและรออินพุตจากคุณ:
(Pdb)
นี่คืออินเทอร์เฟซสำหรับการสื่อสารกับดีบักเกอร์ ตอนนี้คุณสามารถระบุคำสั่งของคุณได้ที่นี่ ตรงข้ามกับการใช้ปุ่มหรือแป้นพิมพ์ลัดในตัวแก้ไขภาพที่นี่คุณจะใช้คำสั่งเพื่อให้ได้ผลลัพธ์เดียวกัน
คุณสามารถไปที่บรรทัดถัดไปในโค้ดของคุณโดยใช้คำสั่ง "n" (ถัดไป):
(Pdb) n
การดำเนินการถัดไปจะแสดงหมายเลขบรรทัดและรหัสเฉพาะในแหล่งที่มา:
> python_script(line number)method name
-> current line in the source code
คุณสามารถตั้งค่าเบรกพอยต์ได้โดยระบุหมายเลขบรรทัดในซอร์สโค้ดของคุณ
(Pdb) b 50
ที่นี่ดีบักเกอร์ถูกตั้งค่าให้ทำลายที่บรรทัด 50 หากไม่มีเบรกพอยต์อื่นเบรกพอยต์ที่บรรทัด 50 จะเป็นเบรกพอยต์แรกและสามารถอ้างอิงได้โดยรหัสเบรกพอยต์ซึ่งเป็น 1 ในกรณีนี้ หากคุณเพิ่มจุดพักมากขึ้นพวกเขาจะได้รับตัวระบุตามลำดับ (เช่น 2, 3 เป็นต้น)
เมื่อตั้งเบรกพอยต์แล้วคุณจะดำเนินการโปรแกรมของคุณต่อไปจนกว่า pdb จะเข้าสู่เบรกพอยต์ดังนี้:
(Pdb) c
เมื่อคุณไปถึงจุดพักคุณสามารถไปที่บรรทัดถัดไปโดยใช้คำสั่ง n ตามที่อธิบายไว้ก่อนหน้านี้ หากคุณต้องการตรวจสอบค่าของตัวแปรคุณต้องดำเนินการคำสั่งพารามิเตอร์ดังนี้:
(Pdb) p variable_name
หากคุณไม่ต้องการเบรกพอยต์อีกต่อไปคุณสามารถล้างได้โดยส่งรหัสของเบรกพอยต์ด้วยคำสั่ง clear:
(Pdb) clear 1
ในที่สุดเมื่อคุณทำดีบักเกอร์เสร็จแล้วคุณสามารถออกจากการดำเนินการได้ตามที่คุณจะออกจากตัวแปลบรรทัดคำสั่ง python
(Pdb) exit()
ฉันหวังว่านี่จะช่วยให้ทุกคนเริ่มต้นกับ pdb นี่คือรายการคำสั่งที่คุณสามารถใช้กับดีบักเกอร์: pdb so question and answers