تبلیغات در اینترنتclose
آموزش حرکت بین کدها در هنگام Debug برنامه های C#
::: در حال بارگیری لطفا صبر کنید :::

نام کاربری :   پسورد :



تابلو اعلانات

◘ نتایج مسابقات انتخاب مدیر برای انجمن ویدئو لرن ◘


تعداد بازدید : 114
نویسنده پیام
fns4565 آفلاین



ارسال‌ها: 25
عضویت: 26 /1 /1395
تشکر شده: 15
آموزش حرکت بین کدها در هنگام Debug برنامه های C#
در این درس، به آموزش نحوه حرکت بین کدها در زمان Debug برنامه های C# خواهیم پرداخت. برای این منظور، برنامه ای با کد زیر را نوشته ایم :






کد:

namespace DebugTest
{
class Program
{
static void Main(string[] args)
{
int a = 5;
a = a * 2;
a = a - 3;
a = a * 6;
Console.WriteLine(a);
}
}
}


کد مثال فوق، چندین بار بر روی متغیر a عملیات ریاضی انجام داده و سپس نتیجه نهایی را در خروجی چاپ می کند. همان گونه که در درس قبل نشان دادیم، در کنار خطی اولی که متغیر a تعریف و مقداردهی شده است، یک Breakpoint قرار دهید. سپس پروژه را اجرا نمایید. در خط اول ای که Breakpoint قرار داده اید، اجرای برنامه متوقف شده و می توانید با بردن موس بر روی متغیر a، مقدار آن را در لحظه مشاهده نمایید. در این مرحله، متغیر a دارای مقدار پیش فرض متغیرهای عددی یعنی صفر است، زیرا هنوز کد آن خط اجرا نشده است. اما بیایید کمی روند را تغییر دهیم.
از منوی Debug ، گزینه “Step over” را انتخاب کرده و یا دکمه F10 را فشار دهید. در این حالت، خط کد بعدی برنامه اجرا شده و می توانید با حرکت موس بر روی کد ببینید که اکنون متغیر a دارای مقدار است. مجددا با زدن دکمه F10 به حرکت در خط های کد ادامه داده و هر خط را یک به یک اجرا کرده و مقدار متغیر آن را در آن خط بسنجید، تا این که به انتهای کد برسید.
مثال فوق بسیار ساده ولی در عین حال کاربردی بود، اکنون می توانیم وارد مراحل پیشرفته تر بشویم.
در کد مثال زیر، یک برنامه پیچیده تر از مثال قبلی طراحی کرده ایم. در کد مثال قبل، جریان حرکت برنامه بسیار ساده و خطی بود. اما اگر کد ما در بین توابع و کلاس های مختلف حرکت کند، چه؟ برای این منظور به کد مثال زیر دقت کنید :
کد:

namespace DebugTest{ class Program { static void Main(string[] args) { int a = 5; int b = 2; int result = MakeComplicatedCalculation(a, b); Console.WriteLine(result); } static int MakeComplicatedCalculation(int a, int b) { return a * b; } }}







در خط اول متد Main برنامه یک Breakpoint قرار داده و آن را اجرا نمایید. سپس از دکمه F10 برای حرکت بین خطوط برنامه و اجرای کدها استفاده کنید. همانطور که مشاهده خواهید کرد، برنامه از روی کد فراخوانی تابع بدون توجه عبور می کند. این حالت روش پیش بینی فرض Debugger است. اما بار دیگر اجرای کد را از اول شروع کرده و هنگام رسیدن به خط کد فراخوانی تابع Make Calculation()، از منوی Debug گزینه Step into را انتخاب کرده یا کلید میانبر F11 را فشار دهید. در این هنگام، برنامه وارد عملیات فراخوانی تابع شده و بدنه تابع را به صورت کامل پیمایش می کند. بنابراین با زدن دکمه F11 می توانید ریزعملیات اجرایی برنامه را هم بررسی کنید.
اما اگر وارد یک تابع شدید و در میانه راه خط هستید از مشاهده ادامه روند اجرای تابع صرف نظر کرده و به کد اصلی برنامه باز گردید، می توانید از منوی Debug گزینه “step out” را انتخاب کرده و یا دکمه shift +F11 را همزمان فشار دهید. در این حالت برنامه به ادامه کد پس از تابع بازگشته و به این صورت می توانید هرچند بار که خواستید وارد فراخوانی یک تابع شده و سپس در هنگام لزوم از آن خارج شوید.
دوشنبه 01 آذر 1395 - 10:52
ارسال پیام نقل قول تشکر / موافقم / آفرین گزارش
1 کاربر از fns4565 به خاطر این مطلب مفید تشکر کرده اند : karim_orooji ,


تازه سازي پاسخ ها



برای ارسال پاسخ ابتدا باید لوگین یا ثبت نام کنید.



تاپیک های مرتبط
موضوع تاریخ تعداد پاسخ آخرین ارسال بازدید
[Post_Title] [Post_Date] [Post_Answer] [Post_Last_User] [Post_Hit]
پرش :
صفحه اصلی | انجمن | ورود | عضویت | خوراک | نقشه | تماس با ما | طراح