در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم
یکی از راههای یافتن اشکال این است که در هر مرحله مهم از برنامه، متغیرهای کد خود را مشاهده کنید و مطمئن شوید که درست در کدام خط و کجای برنامه دادههای شما اشتباها تغییر میکنند. بعد از گذرانیدن این مرحله، باید بهبررسی قطعه کدی که داده را خراب میکند بپردازید.
یکی دیگر از روشهای رفع خطا، استفاده از آزمایش واحد است. در این روش شما توابعی که نوشتهاید را میآزمایید تا از درستی خروجی آنها مطمئن شوید. برای اینکار بستههای کاربردی مختلفی تولید شده است که کار را برای تست هر تابع شما راحتتر میکند.
روش دیگر، استفاده از ابزارهای اشکالزدایی (Debugger) است. این ابزارها تمامی این امور را خودشان انجام میدهند و در هر لحظه خروجی نرمافزار را بهشما نشان میدهند. به این ترتیب متوجه خواهید شد که دقیقا در کجای برنامه خود دادههای خراب تولید میکنید. برخی از این ابزارها بههمراه محیط توسعه سیستم (IDE) عرضه میشوند و برخی بهصورت افزونه قابل دریافت هستند.
از آنجا که برنامهنویسان ویژوال استودیوی زیادی در داخل کشورمان داریم و بیشتر برنامهنویسان قدرت این محیط را بهخوبی درک کردهاند، سراغ یکی از ابزارهای دیباگ ویژوالاستودیو میرویم.
Visual Studio Debugger
این برنامه بههمراه تمامی نسخههای ویژوالاستودیو منتشر شده است و امکانات زیادی دارد که میتوان از میان آنها به موارد زیر اشاره کرد:
1- یکسان کردن سورس و سمبل کدها بهطور کامل
2- اضافهشدن به پردازشهای در حال اجرای روی سیستم برای اشکالزدایی (از این روش بهمنظور اشکالزدایی سرویسهای ویندوزی نوشته شده در ویژوال استودیو استفاده میشود.)
3- امکان اشکالزدایی برنامههای نوشته شده در داتنت و برنامههای محلی نوشته شده در ++C
4- امکان اشکالزدایی بهصورت از راهدور
5- قابلیتهای ویژه و حرفهای برای گذاشتن نقطه توقف (BreakPoint)
6- نمایش دادهها و وضعیت آنها.
حال که با برخی از ویژگیهای دیباگر ویژوالاستودیو آشنا شدیم، نحوه استفاده از آن را در محیط ویژوالاستودیو با هم مرور خواهیم کرد:
در بخش منوها، با انتخاب گزینه Debug، میتوانید برنامه خود را در مود اشکالزدا یا بدون اشکالزدا اجرا کنید.
اما تفاوت این دو حالت در چیست؟ در حالت اشکالزدا یک فایل شامل سیمبلهای برنامه در کنار فایل کامپایل شده ایجاد میشود. با استفاده از این فایل میتوان دوباره برنامه را اشکالزدایی کرد و حتی امکان سواستفاده از آن را به هکرها خواهید داد. ولی در حالت بدون اشکالزدا یا عرضه (Release) فایل شامل سیمبلها فعال نخواهد شد و گزینههای بهینه سازی کامپایلر فعال میشوند و از نظر حجم فایل ایجاد شده کوچکتر از فایل اصلی خواهد بود و سرعت اجرا شدن در این دو حالت در بعضی از الگوریتمها تفاوت زیادی خواهند داشت.
امیربهاالدین سبطالشیخ
در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم
گزارش «جامجم» درباره دستاوردهای زبان فارسی در گفتوگو با برخی از چهرههای ادب معاصر
معاون وزیر بهداشت: