Skip to content

python uygulamalarında hata ayıklama – pdb

Program yazarken ortaya çıkan hataların sebeplerini bulmak kodun büyüklüğü, karmaşıklığı ile orantılı olarak zorlaşıyor. Çok sayıda geliştiricinin üzerinde çalıştığı projelerde ya da sonradan dahil olunan projelerde hata takibi daha da zor oluyor.

Python hata durumunda (çoğu zaman) güzel çıktılar sunuyor olsa bile işin o noktaya nasıl geldiğini ve değişkenlerin, argümanların o andaki değerlerini koda müdahale ederek öğrenmek gerekiyor. Bunun için koda print satırları ekleyip değerleri ekrana bastırmak (printf debugging) en sık tercih edilen yöntemlerden. Fakat bu basit yöntem çoğu zaman yetersiz kalıyor.

Bu noktada da `pdb` modülü imdada yetişiyor. debugger’a geçmek istediğimiz noktaya aşağıdaki satırı ekleyerek breakpoint oluşturuyoruz.

import pdb; pdb.set_trace()

Breakpoint’e gelindiğinde debugger shell’e düşüyoruz. Debugger komutlarıyla uygulamanın ilerleyişine müdahale edebiliyor, yeni breakpointler tanımlayabiliyor ve uygulamayı yeniden başlatabiliyoruz. Debugger komutlarının yanısıra tüm python ifadelerini de kullanabiliyoruz.

Sosyal medya editi: Serdar Dalgıç twitter’dan “pdb’den daha iyi bir yöntem olarak ipdb :) github.com/gotcha/ipdb” dedi. Gerçekten de python shell yerine çok daha yetenekli ipython shell’ini kullanabilmek büyük bir avantaj. pdb yerine ipdb kullanmak gayet mantıklı görünüyor.

Post a Comment

You must be logged in to post a comment.