آموزش برنامه نویسی
بسم الله الرحمن الرحیم
آموزش خطایابی در visual studio
آموزش برنامه نویسی
لیست تمامی آموزش های این دوره
بخش دوم
یکی از بخش هایی که در طراحی نرم افزار زمان زیادی را به خود اختصاص می دهد بخش خطایابی و یا Debug کردن می باشد. معمولا در زمان خطایابی در بین حلقه های تکرار شما زمان زیادی را صرف بررسی تک تک مقادیر و عناصر درون حلقه می کنید تا حلقه ی تکرار به عنصر مورد نظر شما برسد.
مثال، کد ما به صورت زیر می باشد:
int i = 0;
while (i<50)
{
button_Debug.Text = (i++).ToString();
}
در کد بالا ما انتظار داریم، متن Button ما در آخرین بار 50 باشد اما متاسفانه 49 است، طبیعتا اگر کد خود را به صورت زیر تغییر دهیم، این مشکل حل خواهد شد. اما تصور کنید علت این خطا را نمی دانیم معمولا در چنین شرایطی ما بر روی خط مورد نظر خود Break Point قرار می دهیم، ما نیز این کار را انجام می دهیم. سپس برنامه را اجرا می کنیم تا آن را تست کنیم.
طبیعتا در هنگام اجرای برنامه باید 48 بار کلید F5 را برای continue شدن فرایند Debug بزنیم. تصور کنید این حلقه 1000 مرتبه قرار بود تکرار شود و شما در آخرین مرتبه ی تکرار نیاز داشتید کد خود را بررسی کنید.
مطمئنا همه ی ما در کد های واقعی با چنین شرایطی روبرو شده ایم و می شویم. راه حل چیست؟
آموزش visual studio 2015
یکی از ویژگی های Visual Studio امکانات مربوط به Debug کردن برنامه ها و Break Point می باشد این امکانات Visual Studio در صورتی که به صورت صحیح مورد استفاده قرار گیرد، بسیار کمک کننده خواهد بود. در اینجا می خواهیم امکانات مربوط به Break Point را در Visual Studio به شما معرفی کنیم.
بر روی خطی که Break point ایجاد کرده اید راست کلیک کنید.
زیر منوهای Break Point را با هم بررسی خواهیم کرد.
مورد اول و دوم که مشخصا برای حذف و غیر فعال کردن Break point به کار می رود.
Break Point Location
با استفاده از این گزینه می توانید محل قرارگیری Break point را تغییر دهید. همانطور که در تصویر زیر مشاهده می کنید، شما می توانید فایل، شماره خط و ستونی که تمایل دارید بر روی آن Break Point ایجاد کنید را مشخص کنید. برای تست می توانید شماره خط را تغییر دهید و نتیجه را مشاهده کنید.
Break Point Condition
در مثالی که کمی بالاتر توضیح دادیم، ما نیاز داشتیم که به ازای هر بار اجرا شدن Break point کلید F5 را انتخاب کنیم. با استفاده از گزینه Condition شما می توانید به سادگی این مشکل را حل کنید.
همانطور که در تصویر بالا مشاهده می کنید، ما در بخش Condition شرطی را قرارداده ایم که اگر مقدار متغییر i برابر با 48 و یا 49 شد Break Point ما اجرا شود، در غیر این صورت نیازی به متوقف شدن نیست. در قسمت شرط شما می توانید از انوع عبارت های منطقی مانند بخش زیر استفاده کنید.
!=
==
||
&
()
برنامه خود را یکبار دیگر اجرا کنید، همانطور که مشاهده می کنید فقط در زمانی که مقدار متغییر i برابر با 48 و یا 49 باشد برنامه متوقف می شود.
Break Point Hit Count
با استفاده از این بخش شما می توانید شرط های خاصی را بر روی Break point خود قرار دهید. به صورت پیش فرض مقدار Break Always انتخاب شده است. به طور مثال ما می خواهیم وقتی که مقدار متغییر i بیش از 40 شد Break point فعال شود.
برای اینکار کافی است گزینه ی break when the hit count is great than or equal to را انتخاب کنید و سپس از box روبرو مقدار 40 وارد نمایید.
حال برنامه را مجددا تست کنید. البته بهتر است شرط بخش condition را که قبلا set کرده اید، غیرفعال کنید.
Break point Filter
با استفاده از این بخش شما می توانید با قید کردن نام یک Process و یا Thread مشخص کنید که دقیقا برای چه Process و یا Thread ایی این Break point متوقف شود. در این جا نیز می توانید با استفاده از عملگرهای شرطی AND,OR و... شروط را با هم ترکیب کنید.
برای مثال در اینجا می توانید ProcessId و یا Process Name برنامه خود را مشخص کنید و سپس شرط مورد نظر خود را بنویسید. این بخش بیشتر مناسب برنامه های Multi Thread می باشد، در بخش بعد نحوه ی بدست آوردن Thread Name و Thread Id را نیز آموزش خواهیم داد.
Break point When Hit
توسط این گزینه می توانید پیامی را مشخص کنید تا هنگام اجرا شدن Break point این پیام نمایش داده شود.
در بخش Print a Message عبارت زیر را بنویسید.
ABLY.ir Set i variable and i is {i} now. also curent process id is $PID, and Thread id is $TID.
اگر تیک گزینه Continue Execution را انتخاب کنید پیام ها چاپ خواهند شد و برنامه نیز اجرا می شود، در غیر این صورت برنامه متوقف خواهد شد. ما این گزینه را غیرفعال می کنیم و برنامه را اجرا می کنیم.
همانطور که در تصویر بالا مشاهده می کنید در بخش output متنی را که ما به عنوان پیام در زمان اجرا شدن Break Point مشخص کردیم، نمایش داده شده است. با استفاده از {} شما می توانید مقادیر متغییر های خود را چاپ کنید که در اینجا ما مقدار i را این گونه مشخص کرده ایم. همچنین می توانید برخی اطلاعات خاص همچون ProcessId و یا Process Name و سایر موارد را نیز مشخص کنید.
Break point Edit labels
توسط این گزینه می توانید برای Break point خود یک عنوان مشخص کنید.
Break point Export
در نهایت توسط این گزینه می توانید از تمامی تنظیمات خود در خصوص Break point مشخص شده، یک خروجی به صورت xml تهیه کنید.