Adding Breakpoints in pdb

Python bilan kodni tuzatishni o'rganish.

SU

pdbda Breakpoint Qo‘shish

Breakpoint – bu kodingizda debugger to‘xtashi kerak bo‘lgan joy. Bu orqali siz o‘zgaruvchilar holatini tekshirishingiz mumkin bo‘ladi. Bundan tashqari, bu sizga callstackni tekshirish imkonini beradi. Callstack – bu hozirgi vaqtda xotirada saqlanayotgan barcha o‘zgaruvchilar va funksiyaga uzatilgan argumentlar to‘plamidir.

Agar siz PyCharm yoki WingIDE dan foydalansangiz, ularning grafik interfeysi orqali callstackni qulayroq tekshirishingiz mumkin. Odatda, o‘zgaruvchilarni ko‘rish uchun ularning ustiga sichqoncha bilan olib borasiz yoki yon panelda barcha o‘zgaruvchilar ro‘yxatini ko‘rasiz.

Keling, looper() funksiyasining oxirgi qatori, ya’ni 10-qatorga breakpoint qo‘shamiz. Quyida kodni yana bir bor ko‘rib chiqamiz:

# debug_code.py
 
def log(number):
    print(f'Processing {number}')
    print(f'Adding 2 to number: {number + 2}')
 
def looper(number):
    for i in range(number):
        log(i)
 
if __name__ == '__main__':
    looper(5)

Breakpoint Qo‘shish

pdb debuggerida breakpoint qo‘shish uchun break yoki qisqacha b buyrug‘idan foydalanishingiz mumkin. Buyruqdan keyin to‘xtash kerak bo‘lgan qator raqamini kiriting:

$ python3.8 -m pdb debug_code.py
> /python101code/chapter26_debugging/debug_code.py(3)<module>()
-> def log(number):
(Pdb) break 10
Breakpoint 1 at /python101code/chapter26_debugging/debug_code.py:10
(Pdb) continue
> /python101code/chapter26_debugging/debug_code.py(10)looper()
-> log(i)
(Pdb)

Endi siz args buyrug‘idan foydalanib, hozirgi argumentlar qiymatini bilib olishingiz mumkin. Shuningdek, o‘zgaruvchilar qiymatini chiqarish uchun print (yoki qisqacha p) buyrug‘idan foydalaning:

(Pdb) print(i)
0

Endi kodingizga breakpoint qo‘shishni o‘rganib oldingiz! Keyingi bo‘limda bu jarayonni avtomatlashtirish haqida o‘rganamiz.

Last updated on

On this page

Xato haqida xabar berish