به دست آوردن مقادیر متغیرها

در حالت Debug می‌توان به قسمت کدنويسي رفته و مقدار و حالات اشيا و متغيرها را مورد بررسي قرار داد. همانطور که قبلاً ذکر شد، می‌توان از breakpoint براي جلوگيري موقت از اجراي برنامه و امتحان کردن کدهاي آن استفاده کرد. ويژوال استوديو و ويژوال سي شارپ داراي ابزارهايي هستند که به شما نحوه اجراي برنامه‌ها را نشان می‌دهند. برنامه کنسول ايجاد کنيد و نام آن را DebuggingTechniques بگذاريد. کد زير را به برنامه اضافه کنيد :

using System;

namespace DebuggingTechniques
{

    public class Person
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public int Age { get; set; }

        public Person() : this("", "", 0) { }

        public Person(string fn, string ln, int a)
        {
            FirstName = fn;
            LastName = ln;
            Age = a;
        }
    }

    public class Program
    {
        static void Main()
        {
            Person firstPerson =  new Person ("John", "Smith", 20);
            Person secondPerson = new Person();
            string firstName;
            string lastName;
            int age;

            firstName = "Mike";
            lastName = "Welsh";
            age = 30;

            secondPerson.FirstName = firstName;
            secondPerson.LastName = lastName;
            secondPerson.Age = age;

            Console.WriteLine("First Person Details: ");
            Console.WriteLine("First Name: {0}", firstPerson.FirstName);
            Console.WriteLine("Last Name: {0}", firstPerson.LastName);
            Console.WriteLine("Age: {0}n", firstPerson.Age);

            Console.WriteLine("Second Person Details: ");
            Console.WriteLine("First Name: {0}", secondPerson.FirstName);
            Console.WriteLine("Last Name: {0}", secondPerson.LastName);
            Console.WriteLine("Age: {0}", secondPerson.Age);
        }
    }
}

يک break point به اولين خط کد در متد ()Main اضافه کنيد. حال به شما نشان می‌دهیم که چطور مقادير موجود در متغيرها و اشيا را مشاهده کنيد. برنامه را در حالت Debug اجرا کنيد. برنامه در اولين breakpoint متوقف می‌شود نشانگر ماوس را بر روي هر شي يا متغير که ببريد يک پنجره کوچک ظاهر می‌شود که شامل نام و مقدار موجود در آن شیء يا متغير می‌باشد.
viewing-values-of-variables-01
مقدار جاري شي firstPerson تهي است، چون هنوز هيچ مقداري به آن اختصاص داده نشده است. خط زرد رنگ هنوز اجرا نشده است. در پنجره کوچکي که با فلش نشان داده شده است، يک آيکون سنجاق مانند مشاهده می‌کنید. با کليک بر روي اين آيکون پنجره کوچک ديگر به صورت خودکار بسته نمی‌شود. براي اينکه پنجره کوچک دوباره به صورت عادي برگردد و به صورت خودکار مخفي شود کافيست بار ديگر بر روي آيکون مذکور کليک کنيد. اگر ماوس را براي لحظه‌ای بر روي يک نوع يا يک کلاس قرار دهيد (متوقف کنيد)، جزيياتي در مورد آنها از قبيل سلسله مراتب وراثت را مشاهده می‌کنید.
viewing-values-of-variables-02
بر روي آيکون Step Over کليک کرده تا کد جاري اجرا شود و فلش زرد رنگ به خط بعد برود. از آنجاييکه خط کد قبل اجرا شده است، firstPerson به وسيله سازنده‌اش مقداردهي اوليه شده است. اگر ماوس را بر روي شيء firstPerson براي لحظه‌ای قرار دهيد يک پنجره ظاهر می‌شود (پنجره DataTip) که شامل مقادير و نام کامل کلاس آن است. همچنين يک آيکون + در سمت چپ آن مشاهده خواهيد کرد که با کليک بر روي آن همه خواص و فیلدهای شیء جاري و مقادير مربوط به آنها نمايش داده خواهد شد.
viewing-values-of-variables-03
همچنين آيکون يک ذره بين را در کنار برخي از اعضا مشاهده می‌کنید که با کليک بر روي آن تمام محتويات يک متغير حتي اگر بزرگ باشد به شما نشان داده خواهد شد (شکل زير).
viewing-values-of-variables-04
با کليک بر روي مقادير در پنجره DataTip می‌توان آنها را تغيير داد. به عنوان مثال بر روي مقدار فيلد FirstName کليک کنيد و آن را از John به Joseph تغيير داده و سپس کليد enter را فشار دهيد.

پنجره Locals

پنجره Locals مکاني است که در آن می‌توانید همه مقادير مربوط به متغيرها و اشيا را که به وسيله برنامه مورد استفاده قرار می‌گیرند، مشاهده کنيد. اين پنجره به صورت خودکار وقتي که برنامه را در حالت Debug اجرا می‌کنید نمايش داده می‌شود. مکان اين پنجره همانطور که در شکل زير نمايش داده شده است در قسمت پايين سمت چپ محيط ويژوال استوديو قرار دارد. تا وقتي که به اولين دستور ()WriteLine می‌رسید بر روي آيکون Step Over کليک کنيد. حال به پنجره Locals که با فلش نشان داده شده است نگاه کنيد:

ليستي از همه متغيرهايي که مورد استفاده قرار گرفته‌اند را مشاهده می‌کنید. اين پنجره شامل سه ستون به نامهاي Name ،Value و Type می‌باشد. براي انواع پيچيده مانند کلاسها يک آيکون + در سمت چپ نام آنها قرار دارد که با کليک بر روي آن اعضاي کلاس و مقادير آنها نشان داده می‌شود. می‌توان با دو بار کليک کردن بر روي مقادير متغيرها در پنجره Locals آن‌ها را تغيير داد.

پنجره Watch

پنجره Watch اجازه تايپ نام متغيرها و مشاهده مقادير آنها را می‌دهد. اين پنجره حتي به شما اجازه می‌دهد دو متغير مقداري را به وسيله عملگرهاي رياضي با هم جمع يا … کنيد. اين پنجره همانطور که در شکل مشاهده می‌کنید در کنار پنجره Locals قرار دارد.
viewing-values-of-variables-06
می‌توانید نام متغيري که مد نظرتان است را در ستون Name تايپ کرده و سپس کليد enter را فشار دهيد با اين کار مقدار متغير در ستون Value نمايش داده خواهد شد. همچنين می‌توانید به عنوان مثال در ستون Name يک مقدار ثابت را با مقدار يک متغير که در برنامه وجود دارد جمع کرده و نتيجه را مشاهده کنيد.