اشکال‌یابی و اشکال‌زدایی در متن کدهای برنامه

برنامه‌نویس جایزالخطاست!

هیچ برنامه‌نویسی نمی‌تواند ادعا کند کدی که می‌نویسد، در اولین بار اجرا، بی‌شک درست کار خواهد کرد. حتی ماهرترین برنامه‌نویسان هم کد بی‌نقص نمی‌نویسند و همواره نیاز است که کدهای خود را رفع ایراد کنند تا از مشکلات آن با خبر شود، اما این اشکال‌زدایی یعنی چه و به‌چه صورت می‌توان آن را رفع کرد؟ شما یک برنامه نوشته‌اید که خروجی آن مطابق با نتیجه دلخواه شما نیست و کدهای شما هم از نظر منطقی درست به‌نظر می‌آیند، ولی خروجی آن درست نیست. در این زمان باید خط به‌خط برنامه را گشت و مشکل را یافت. در غیر اینصورت با افزایش حجم و تعداد خطوط برنامه، تصحیح هر کد به‌دشواری انجام خواهد شد.
کد خبر: ۳۰۰۲۷۸

یکی از راه‌های یافتن اشکال این است که در هر مرحله مهم از برنامه، متغیرهای کد خود را مشاهده کنید و مطمئن شوید که درست در کدام خط و کجای برنامه داده‌های شما اشتباها تغییر می‌کنند. بعد از گذرانیدن این مرحله، باید به‌بررسی قطعه کدی که داده را خراب می‌کند بپردازید.

یکی دیگر از روش‌های رفع خطا، استفاده از آزمایش‌ واحد است. در این روش شما توابعی که نوشته‌اید را می‌آزمایید تا از درستی خروجی آن‌ها مطمئن شوید. برای این‌کار بسته‌های کاربردی مختلفی تولید شده است که کار را برای تست هر تابع شما راحت‌تر می‌کند.

روش دیگر، استفاده از ابزارهای اشکال‌زدایی (Debugger) است. این ابزارها تمامی این امور را خودشان انجام می‌دهند و در هر لحظه خروجی نرم‌افزار را به‌شما نشان می‌دهند. به این ترتیب متوجه خواهید شد که دقیقا در کجای برنامه خود داده‌های خراب تولید می‌کنید. برخی از این ابزارها به‌همراه محیط توسعه سیستم (IDE) عرضه می‌شوند و برخی به‌صورت افزونه قابل دریافت هستند.

از آنجا که برنامه‌نویسان ویژوال استودیوی زیادی در داخل کشورمان داریم و بیشتر برنامه‌نویسان قدرت این محیط را به‌خوبی درک کرده‌اند، سراغ یکی از ابزارهای دیباگ ویژوال‌استودیو می‌رویم.

Visual Studio Debugger

این برنامه به‌همراه تمامی نسخه‌های ویژوال‌استودیو منتشر شده است و امکانات زیادی دارد که می‌توان از میان آن‌ها به موارد زیر اشاره کرد:

1- یکسان کردن سورس و سمبل کدها به‌طور کامل

2- اضافه‌شدن به پردازش‌های در حال اجرای روی سیستم برای اشکال‌زدایی (از این روش به‌منظور اشکال‌زدایی سرویس‌های ویندوزی نوشته شده در ویژوال استودیو استفاده می‌شود.)

3- امکان اشکال‌زدایی برنامه‌های نوشته شده در دات‌نت و برنامه‌های محلی نوشته شده در ++C

4- امکان اشکال‌زدایی به‌صورت از راه‌دور

5- قابلیت‌های ویژه و حرفه‌ای برای گذاشتن نقطه توقف (BreakPoint)

6- نمایش داده‌ها و وضعیت آنها.

حال که با برخی از ویژگی‌های دیباگر ویژوال‌استودیو آشنا شدیم، نحوه استفاده از آن را در محیط ویژوال‌استودیو با هم مرور خواهیم کرد:

در بخش منوها، با انتخاب گزینه Debug، می‌توانید برنامه خود را در مود اشکال‌زدا یا بدون اشکال‌زدا اجرا کنید.

اما تفاوت این دو حالت در چیست؟ در حالت اشکال‌زدا یک فایل شامل سیمبل‌های برنامه در کنار فایل کامپایل شده ایجاد می‌شود. با استفاده از این فایل می‌توان دوباره برنامه را اشکال‌زدایی کرد و حتی امکان سواستفاده از آن را به هکرها خواهید داد. ولی در حالت بدون اشکال‌زدا یا عرضه (Release) فایل شامل سیمبل‌ها فعال نخواهد شد و گزینه‌های بهینه سازی کامپایلر فعال می‌شوند و از نظر حجم فایل ایجاد شده کوچک‌تر از فایل اصلی خواهد بود و سرعت اجرا شدن در این دو حالت در بعضی از الگوریتم‌ها تفاوت زیادی خواهند داشت.

امیربهاالدین سبط‌الشیخ

newsQrCode
ارسال نظرات در انتظار بررسی: ۰ انتشار یافته: ۰

نیازمندی ها