هندسة مصور مرئي

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

النسخة

Visual Basic

C#‎

#F

C++‎

مطور الويب

Express

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

مدارة فقط

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

pro ، Premium و Ultimate

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

مدارة فقط

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

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

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

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

vهوualizer هو مكون مصحح تمكن المصحح من محتويات قرص بيانات الكائن في نموذج قابل للفهم، له معنى dهوplay ( vهوualize ). يدعم بعض visualizers ‏‏تحرير كائن بيانات أيضا. يمكنك توسيع مصحح الأخطاء بكتابة cusإلىm visualizers، إلى معالجة أنواع بيانات cusإلىm الخاصة بك.

كائن بيانات إلى visualized يكون موجوداً ضمن العملية تصحيح (عملية debuggee ). واجهة المستخدم التي سيتم dهوplay بيانات هو التي تم إنشاؤها ضمن عملية المصحح Studio Vهوual:

مصحح عملية

معالجة Debuggee

مصحح واجهة مستخدم (نصائح بيانات، نافذة مراقبة، مشاهدة سريعة)

كائن بيانات إلى يمكن visualized

لعرض كائن بيانات في واجهة المصحح، تحتاج إلى رمز للاتصال بين الثاني معالجات. وبالتالي، فإن الهندسة مصور مرئي تتكون من جزأين: جانب مصحح الأخطاء رمز و تعليمات برمجية من " جانب debuggee.

التعليمة البرمجية جانب مصحح الأخطاء ينشئ الخاصة به واجهة مستخدم، الذي يمكن طلبه من واجهة مصحح الأخطاء، مثل DataTip نافذة مراقبة أو مشاهدة سريعة. الواجهة vهوualizer هو التي تم إنشاؤها باستخدام DialogDebuggerVisualizerفئة و IDialogVisualizerServiceالواجهة. مثل APIs مصور مرئي الجميع، DialogDebuggerVisualizer و IDialogVisualizerService موجودة في Microsoft.VisualStudio.DebuggerVisualizersمساحة الاسم.

المصحح جنبا إلى

الوجه Debuggee

فئة DialogDebuggerVisualizer

واجهة IDialogVisualizerService

كائن بيانات

واجهة مستخدم يحصل تشغيل بيانات إلى أن visualized من "موفر كائن" موجود تشغيل الجانب مصحح الأخطاء:

المصحح جنبا إلى

الوجه Debuggee

فئة DialogDebuggerVisualizer

واجهة IDialogVisualizerService

كائن بيانات

كائن موفر (يطبق IVisualizerObjectProvider)

هناك هو كائن المناسب تشغيل الجانب debuggee تسمى "مصدر" كائن ":

المصحح جنبا إلى

الوجه Debuggee

فئة DialogDebuggerVisualizer

واجهة IDialogVisualizerService

كائن بيانات

كائن موفر (يطبق IVisualizerObjectProvider)

كائن المصدر (مشتقة من VisualizerObjectSource)

موفر الكائن الذي يوفر بيانات الكائن التي هو أن vهوualized إلى vهوualizer واجهة المستخدم. موفر الكائن الذي يحصل على بيانات كائن من الكائن المصدر. موفر الكائن والكائنات المصدر توفر واجهات برمجة التطبيقات للاتصال ببيانات الكائن بين جانب المصحح إلى جانب debugee.

يجب الحصول على كل مصور مرئي كائن بيانات إلى أن visualized. يعرض الجدول التالي API المقابلة يستخدم موفر كائن و كائن المصدر لهذا الغرض:

كائن موفر

كائن المصدر

GetData

—أو—

GetObject

GetData

لاحظ أنه كائن يمكن أن يستخدم موفر أما GetDataأو GetObject. أما واجهة برمجة تطبيقات ينتج عنه تشغيل استدعاء إلى GetDataتشغيل مصدر الكائن. استدعاء VisualizerObjectSource.GetDataيعبئ [System.IO.Stream]، الذي يمثل نموذج متسلسل للكائن الذي هو الآن vهوualized.

IVisualizerObjectProvider.GetObjectdeserializes بيانات مرة أخرى في كائن النموذج، يمكنك حينئذ عرض في إنشاء باستخدام واجهة مستخدمDialogDebuggerVisualizer. IVisualizerObjectProvider.GetDataتعبئة بيانات كـ مجرد[System.IO.Stream]، الذي يجب إلغاء تسلسل نفسك. IVisualizerObjectProvider.GetObjectيعمل بواسطة استدعاءIVisualizerObjectProvider.GetDataإلى الحصول على المتسلسلة[System.IO.Stream]، ثم إلغاء تسلسل بيانات. استخدام IVisualizerObjectProvider.GetDataعند الكائن هو غير قابل للتسلسل ب.NET وتتطلب السلسلة المخصصة. في هذه الحالة، يجب أيضا يمنع VisualizerObjectSource.Serializeالأسلوب.

إذا قمت بإنشاء اتصال أحادي الاتجاه أو vهوualizer للقراءة فقط مع GetDataأو GetObjectهو كافية. إذا كنت تنشئ مصور مرئي يعتمد ‏‏تحرير الكائنات بيانات، يجب عليك القيام بالمزيد. يجب أن تكون قادراً على يرسل كائن بيانات من "موفر كائن" الرجوع إلى "كائن" المصدر أيضا. يعرض الجدول التالي "الموفر الكائنات" وكائن المصدر APIs المستخدمة لهذا الغرض:

كائن موفر

كائن المصدر

ReplaceData

—أو—

ReplaceObject

CreateReplacementObject

ولاحظ مرة أخرى، توجد واجهات برمجة التطبيقات الثاني التي يمكن أن تستخدم موفر كائن. بيانات هو دائماً يرسلها الذي "موفر كائن" مصدر الكائن ك [System.IO.Stream]، ولكن ReplaceDataيتطلب أن إجراء تسلسل الكائن في [System.IO.Stream]نفسك.

ReplaceObjectتأخذ كائن أنك توفر، serializes في[System.IO.Stream]، ثم قم باستدعاءReplaceDataلإرسالها[System.IO.Stream]إلىCreateReplacementObject.

استخدام واحد الأساليب استبدال بإنشاء كائن بيانات جديد في debuggee الذي يحل محل الكائن الذي يتم visualized. إذا كنت ترغب في تغيير المحتويات الأصلية كائن دون استبدالها، استخدم إحدى الطرق النقل هو مبين في الجدول التالي. واجهات برمجة التطبيقات هذه بنقل بيانات في كلا الاتجاهين في نفس الوقت، دون استبدال الكائن الذي يتم visualized:

كائن موفر

كائن المصدر

TransferData

—أو—

TransferObject

TransferData

راجع أيضًا:

المهام

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

الإرشادات التفصيلية: كتابة مصوّر مرئي في #C

الإرشادات التفصيلية: كتابة مصور مرئي في Visual Basic

الإرشادات التفصيلية: كتابة مصور مرئي في Visual Basic

المبادئ

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

موارد أخرى

كتابة مصور مرئي خيارات متقدمة