با استفاده از pdb یک باگ ساده در تابعی که میانگین عناصر یک لیست را محاسبه میکند پیدا کنید، با قرار دادن breakpoint و مشاهده متغیرها مشکل را شناسایی کرده و با افزودن logging مقدار ورودی و خروجی را ثبت کنید.
8.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:11اسکریپتی بسازید که تابعی میانگین یک لیست را محاسبه میکند اما در برخی حالات خروجی اشتباه میدهد؛ برای دیباگ کردن میتوانید یا برنامه را با python -m pdb script.py اجرا کنید یا درون کد import pdb; pdb.set_trace() قرار دهید، سپس از دستورات pdb مثل n (next)، s (step)، p برای چاپ مقدار متغیرها، و b برای گذاشتن breakpoint استفاده کنید تا محل خطا را بیابید. برای ثبت رفتار و کمک به عیبیابی در محیطهای تست و عملیاتی از ماژول logging استفاده کنید (logging.basicConfig(level=logging.DEBUG, filename=..., format=...)) و با logging.debug یا logging.info مقادیر ورودی و خروجی را لاگ کنید؛ نکتهها: میتوانید breakpoint شرطی بگذارید، در تستها از capture کردن لاگ استفاده کنید و در محیط production بهجای pdb از لاگهای دقیق و ابزارهای ریموت دیباگ استفاده نمایید.
نکته کلیدی این است که برای یافتن باگ، breakpointهای شرطی را بر روی ورودیهای غیرمنطقی یا مقادیر خالی بگذارید تا رفتار تابع را در حالتهای حاشیه بررسی کنید. از pdb با دستورات p برای چاپ متغیرها، n برای گام بعدی و s برای گام در استفاده کنید و مقدار میانگین را با طول لیست مقایسه کنید تا خطاهای تقسیم بر صفر یا نداشتن بهروزرسانی لیست آشکار شود. همچنین اضافه کردن logging با سطح DEBUG برای ورودیها، خروجیها و طول لیست میتواند در بازبینیهای بعدی مفید باشد. در محیط تست، از capture لاگ استفاده کنید و در محیط production از ابزارهای ریموت دیباگ به جای pdb بهره ببرید.
گزارش