ميزات مقيم التعبير الشائعة

ينطبق هذا الموضوع على:

النسخة

Visual Basic

C#‎

#F

C++‎

مطور الويب

Express

الموضوع الذي ينطبق الموضوع الذي ينطبق الموضوع الذي ينطبق الموضوع الذي ينطبق الموضوع الذي ينطبق

pro ، Premium و Ultimate

الموضوع الذي ينطبق الموضوع الذي ينطبق الموضوع الذي ينطبق الموضوع الذي ينطبق الموضوع الذي ينطبق

يقوم هذا الموضوع بوصف العديد من ميزات مقيم التعبير التي تعتبر شائعة للمصحح لكنها متباينة فقط من قبل اللغة.

المتغيرات الضمنية

في Visual Basic و #C يمكنك إنشاء المتغيرات الضمنية باستخدام مقيم التعبير, ففي هذه المتغيرات الضمنية لا تنتقل أبداً خارج نطاق و يمكن أن تتم معاملتها على أنها أية متغيرات أخرى.

في #C يمكنك إنشاء متغير ضمني بواسطة تصريحه في مقيم التعبير, فعلى سبيل المثال، يمكنك إدخال رمز #C التالي في النافذة فوري:

int b = 100;

عندما تنفذ هذه التعليمات البرمجية في النافذة فوري فإنه يظهر متغير ضمني جديد في النافذة محلي مع العلامة $ أمام اسم المتغير و في هذه الحالة $b.

في Visual Basic يتعذر تعريف المتغيرات الضمنية في مقيم التعبير, و مع ذلك إذا كنت تستخدم متغير غير معروف في مقيم التعبير لـ Visual Basic فإنه يتم تلقائياً إنشاء متغير ضمني, و في Visual Basic لم يتم إسراد المتغيرات الضمنية في النافذة محلي.

نقاط التوقف

إذا كنت تستخدم النافذة الحالية لتقييم أسلوب Visual Basic أو #C أو دالة تحتوي على نقطة توقف تم الوصول إليها كما تظهر نافذة جديدة على مكدس الاستدعاء, و فيما يلي مثال لـ C#‎:

    class Program
    {
        static void Main(string[] args)
        {
// Breakpoint here:
             int a = 20;
         }
    }

إذا قمت بتعيين نقطة توقف حيث يشير التعليق و يترجم و ينفذ البرنامج عن طريق الضغط على F5 فإنك سوف تصل إلى نقطة التوقف بطريقة عادية, و إذا قمت الآن بتقييم الأسلوب Main عن طريق كتابة Program.Main(null) في النافذة فوري فإنه سيتم إصابة نقطة التوقف مرة ثانية و بالتالي سيوجد إدخال للأسلوب على مكدس الاستدعاء.

تقييم في نافذة المراقبة

لتجنب التأثيرات الجانبية الغير مرغوب بها و المتوقع حدوثها أو دالة أو استدعاء الأسلوب الذي لا يتم تقييمه تلقائياً في كل مرة يخطو فيها مصحح الأخطاء, و بدلاً من ذلك يتيح لك الرمز تحديث النتيجة يدوياً حيث تظهر في العمود قيمة, فيتيح لك ذلك تقييم الاستدعاء يدوياً. لمزيد من المعلومات، راجع تأثيرات جانبية و التعبيرات.

هوية الكائن

لا تتوفر هذه الميزة لـ Visual Basic.

تقوم بعض التطبيقات بإنشاء عدة مثيلات لفئة, ففي هذه التطبيقات من الأفضل أن يكون لديك معرّف لتمييز مثيل محدد للفئة بشكل متكرر, و بالتالي يمكن أن يكون هذا مفيداً فعلى سبيل المثال، إذا كان المثيل المحدد للفئة لا يعمل كما هو متوقع أو تم إدراج مثيل محدد أكثر من مرة في مجموعة يجب أن تحتوي عليه مرة واحدة فقط.

هوية الكائن الأصلي

عندما تقوم بتصحيح التعليمات البرمجية الغير مُدارة فإنه يمكنك تعريف كائن بشكل فريد باستخدام عنوان IP الخاص به, و هذا مهم لسببين:

  • يمكنك تعقب كائن فقط باستخدام عنوان IP الخاص به حيث يتضمن ذلك القدرة على استخدام عنوان إلى:

    • قم بعرض القيمة للكائن في هذا العنوان.

    • تحقق من وجود مساواة, و يمكن استخدام عنوان كائن بنفس طريقة متغيير الكائن و بشكل متكرر.

  • يمكنك استخدام العنوان لكائن مثيل لتعيين نقطة توقف على أسلوب في هذا المثيل المحدد.

    فعلى سبيل المثال، افترض أن لديك كائن مثيل من فئة CMyType مع عنوان 0xcccccccc حيث يمكنك تعيين نقطة توقف لدالة على أسلوب aMethod من هذا المثيل كما يلي:

    ((CMyType *) 0xcccccccc)->aMethod

هوية الكائن المدارة

مع التعليمات البرمجية المدارة لا يمكنك استخدام عنوان الكائن لتعريفه, و بدلاً من ذلك، قم باستخدم عدداً معروف على أنه معرف الكائن الذي تم إنشاؤه بواسطة خدمات التصحيح لوقت تشغيل اللغة العامة (CLR) و المقترنة مع الكائن, فهذا الرقم عبارة عن عدد صحيح موجب تم إنشاؤها بواسطة خدمات التصحيح CLR, و قيمة معرف الكائن ليس لها مغزى باستثناء فريد للكائن.

يتم عرض مقابض الكائن كأطوال متغيرة أو أرقام عشرية مع علامة الرقم (#) ملحقة بعد الرقم بدون أية أصفار بادئة مثل 5#, و تظهر المقابض في العمود قيمة في نوافذ بيانات المصحح المختلفة.

لإنشاء معرف كائن لمتغير, فم بالنقر بزر الماوس الأيمن على المتغير ثم حدد جعل معرف الكائن, فسوف يقوم المصحح بعرض رقم مع الجنيه ( المصحح#) إلحاق بعدها, مثل 123#, و أما لحذف معرف كائن, انقر بزر الماوس الأيمن على المتغير ثم حدد حذف معرف الكائن.

عند إصابة نقطة توقف فإنه يمكنك كتابة مؤشر متغير في النافذة مراقبة, و يقوم المصحح بعرض قيمة معرّف الكائن بحيث يمكنك توسيعها ثم فحصها تماماً مثل أي متغير.

يمكنك استخدام معرّف الكائن لتعيين نقطة توقف على أسلوب المثيل المحدد, فعلى سبيل المثال، افترض أن لديك كائن مثيل الفئة CMyType، و المثيل لديه معرف الكائن 5#, فئة CMyType تتضمن أسلوب aMethod, و هكذا يمكنك تعيين نقطة توقف لدالة على الأسلوب aMethod للمثيل 5# كما يلي:

((CMyType) 5#).aMethod

كما يمكنك أيضاً استخدام معرّف الكائن في شرط نقطة توقف, و يوضح المثال التالي كيف يمكنك اختبار معرف الكائن في شرط.

this == 5#

لمزيد من المعلومات حول كيفية تحديد شرط نقطة توقف, راجع كيفية القيام بما يلي: تحديد الشرط نقطة توقف.

راجع أيضًا:

المبادئ

عرض بيانات في مصحح الأخطاء

موارد أخرى

التعبيرات في مصحح الأخطاء

تخطيط المصحح