كيفية القيام بما يلي: كتابة مصور مرئي

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

النسخة

Visual Basic

C#‎

#F

C++‎

مطور الويب

Express

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

مدارة فقط

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

pro ، Premium و Ultimate

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

مدارة فقط

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

يمكنك كتابة مصور مرئي مخصصة لأي كائن لأي فئة المدارة عدا Objectأو Array.

هندسة مصور مرئي المصحح جزأين:

  • يعمل الجانب المصحح ضمن المصحح ‏‫Visual Studio. التعليمة البرمجية جانب مصحح الأخطاء ينشئ ويعرض واجهة مستخدم ل مصور مرئي الخاص بك.

  • الجانب debuggee يعمل ضمن عملية Studio Vهوual هو التصحيح ( debuggee ).

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

إلى جانب المصحح يتلقى كائن بيانات هذا أن visualized من موفر الكائن تطبيق IVisualizerObjectProviderالواجهة. يرسل إلى جانب debuggee كائن بيانات من خلال مصدر الكائن ، الذي هو مشتقة من VisualizerObjectSource. The object موفر can also send data back إلى the object source, which enables you إلى write a مصور مرئي that edits, as well as displays, data. يمكن إبطال الموفر الكائنات للتحدث إلى مقيم تعبير و، ولذلك، للكائن المصدر

إلى جانب debuggee و الجانب مصحح الأخطاء من الاتصال مع بعضها البعض عبر Stream. يتم توفير وظائف في إجراء تسلسل لكائن بيانات في في Streamوإلغاء تسلسل Streamالعودة في في كائن البيانات.

يتم تحديد التعليمة البرمجية جانب debuggee باستخدام السمة DebuggerVisualizer ( DebuggerVisualizerAttribute).

لإنشاء واجهة مستخدم مصور مرئي تشغيل الجانب مصحح الأخطاء، يجب عليك إنشاء فئة التي ترث من DialogDebuggerVisualizerوتجاوز DialogDebuggerVisualizer.Showالأسلوب لعرض واجهة.

You can استخدم IDialogVisualizerService إلى عرض Windows forms, مربعات حوار, و عناصر التحكم من your مصور مرئي.

دعم for generic أنواع هو limited. You can write a مصور مرئي for a الهدف that هو a generic نوع فقط if the generic نوع هو an فتح نوع. This restriction هو the same كـ the restriction when using the DebuggerTypeProxy سمة. للمزيد من التفاصيل ، راجع استخدام سمة DebuggerTypeProxy.

مخصص visualizers may have الأمان considerations. انظر اعتبارات الأمان مصور مرئي

The إجراءات below, give a عالي-المستوى عرض of what you need إلى do إلى إنشاء a مصور مرئي. For a المزيد مُفصل explanation, see الإرشادات التفصيلية: كتابة مصوّر مرئي في #C.

إلى إنشاء the debugger side

  1. استخدم IVisualizerObjectProvider وظائف إلى يحصل the visualized كائن تشغيل the debugger side.

  2. إنشاء a فئة that inherits من DialogDebuggerVisualizer.

  3. يمنع the DialogDebuggerVisualizer.Show أسلوب إلى عرض your واجهة. استخدم IDialogVisualizerService وظائف إلى عرض Windows forms, مربعات حوار, و عناصر التحكم كـ part of your واجهة.

  4. يطبق DebuggerVisualizerAttribute, giving it a مصور مرئي (DialogDebuggerVisualizer).

إلى إنشاء the debuggee side

  1. يطبق DebuggerVisualizerAttribute, giving it a مصور مرئي (DialogDebuggerVisualizer) و an كائن المصدر (VisualizerObjectSource). If you omit the كائن المصدر, a الافتراضي كائن المصدر will be used

  2. If you want your مصور مرئي إلى be able إلى تحرير بيانات الكائنات, كـ well كـ عرض them, you will need إلى يمنع the TransferData أو CreateReplacementObject وظائف من VisualizerObjectSource.

راجع أيضًا:

المهام

كيفية القيام بما يلي: تثبيت مصور مرئي

كيفية القيام بما يلي: اختبار و يصحح مصور مرئي

المبادئ

اعتبارات الأمان مصور مرئي

موارد أخرى

مرئيات