بررسی خطا در اسکریپت ها
اجرای یک اپلیکیشن که دارای خطا باشد، تقریبا غیر ممکن است. هرچقدر که پیچیدگی بیشتر شود، شانس پیدا شدن خطاها نیز بیشتر می شود. هرکسی ممکن است یک خطا را ایجاد کند، حتی برنامه نویسان حرفه ای. ممکن است که شما نیز اشتباه ها و خطاهایی را انجام داده باشید. مهمترین چیز این است که خطاها را پیدا کنیم و آنها را حل کنیم. به پروسه ی یافتن خطاها و حل کردن آنها، خطایابی(debugging) گفته می شود.
گاهی اوقات تکنیک های ساده، در خطایابی موثر واقع می شوند. بعنوان مثال، نوشتن اسکریپت ها در چند بخش، یک راه مهم برای پیدا کردن خطاها می باشد. همان طور که قبلا شرح داده شد، از کامنت های %% برای شرح دادن بخش ها استفاده می شود و توضیح می دهد که بخش مورد نظر چگونه کار می کند.
هنگامی که شما گمان می کنید که یک بخش خاص دارای خطا(error) می باشد، می توانید کد مورد نظر را چندین بار اجرا کنید و همزمان به پنجره ی Workspace نگاه کنید تا ارتباط متغیرهایی که کد مورد نظر ایجاد می کند و خروجی که در command window ایجاد می شود را مشاهده کنید.
با اضافه کردن عبارت ()disp در قسمت های مختلف کدهای خود، می توانید وضعیت اشیاء مختلف در کد های خود را بررسی کنید. با انجام این کار، اطلاعات مورد نظر در پنجره ی command چاپ می شوند، بنابراین شما می توانید مشاهده کنید که اپلیکیشن شما به مرور زمان چطور کار می کند. بعد از اینکه خطایابی کامل شد، ضروری است که شما دستورات ()disp اضافه شده را حذف کنید. برای انجام این کار می توانید از یک علامت % در ابتدای عبارت ()disp استفاده کنید. به این تکنیک، کامنت گذاری گفته می شود و شما می توانید از آن برای کدهایی که مظنون به خطا هستند، استفاده کنید.
مطلب همچنین از یک ویژگی خاص، به نام نقطه ی انفصال(breakpoint) پشتیبانی می کند. یک نقطه ی انفصال در واقع چیزی شبیه به یک علامت توقف در کد شما می باشد. این علامت به متلب می گوید که، اجرای کد شما را در یک نقطه ی خاص، متوقف کند. بنابراین شما می توانید مشاهده کنید که کد شما چگونه کار می کند.
متلب از دو نوع نقطه ی انفصال پشتیبانی می کند، که عبارتند از:
1. نقطه ی انفصال مطلق(Absolute): هر زمان که کد مورد نظر به نقطه ی انفصال برسد، اجرای کد مورد نظر متوقف خواهد شد.
از این نوع نقطه ی انفصال، زمانی استفاده می شود که شما در ابتدا می خواهید به جستجوی خطاها بپردازید و علت خطا را نمی دانید.
2. نقطه ی انفصال شرطی(conditional): در این حالت، کد مورد نظر زمانی متوقف می شود که یک شرط برقرار شود. بعنوان مثال، یک متغیر ممکن است شامل مقداری باشد که این مقدار باعث ایجاد مشکلات و خطاهایی می شود. در اینجا، هنگامی که شما مشکل را پیدا کرده اید اما دقیقا نمی دانید که علت آن چیست، باید از نقطه ی انفصال شرطی استفاده کنید.
برای ایجاد یک نقطه ی انفصال، کافیست که نشانگر متن را در یک خط دلخواه قرار دهید، و سپس از لیست کشویی Breakpoints که در تب Editor قرار دارد، یک گزینه را انتخاب کنید. هنگامی که شما از یک نقطه ی انفصال استفاده می کنید، خواهید دید که یک دایره در کنار خط مورد نظر نشان داده می شود. برای نقطه ی انفصال مطلق، این دایره به رنگ قرمز خواهد بود و برای نقطه ی انفصال شرطی، این دایره به رنگ زرد نمایش داده خواهد شد.
عکس 8.8 هر دوی نقاط انفصال مطلق و شرطی را نشان می دهد(اما شما در این عکس، نقاط را ممکن است به صورت رنگی مشاهده نکنید). در بخش های بعدی از این سری مقالات، به طور مفصل درباره ی نقاط انفصال بحث خواهیم نمود.
در فصل 13 با ایده های بیشتری در مورد کار با خطاها در اسکریپت شما آشنا خواهید شد.
- نوشته شده توسط احسان عباسی
- بازدید: 8419