هل من الممكن تنفيذ رمز التصحيح هذا أثناء إيقاف البرنامج مؤقتًا في .NET IDE؟
-
27-10-2019 - |
سؤال
لدي اثنين من هياكل البيانات الضخمة التي تسبب مشاكل في تطبيق VB.NET الخاص بي.بعد طرح استثناء وإيقاف التطبيق مؤقتًا، أرغب في تشغيل بعض التعليمات البرمجية مثل:
For Each o As MyClass In myObjects
If o.property = "value" Then debug.print(o.id)
Next
لتشخيص المشكلة.
المشكلة هي أن النافذة الفورية لن تسمح لي بتنفيذ الحلقات، و myObjects
تحتوي المجموعة على عدد كبير جدًا من الكائنات التي لا يمكنني العثور على العنصر المخالف الذي أريده يدويًا.
كيف يمكنني العثور على هذا الكائن أثناء إيقاف مصحح الأخطاء مؤقتًا؟هل هذا أو شيء مشابه ممكن في .NET IDE؟
المحلول
يجب أن تكون قادرًا على استخدام نافذة الوضع الفوري في IDE لتنفيذ أوامر كهذه، ولكن يجب أن تكون البيانات متاحة ضمن النطاق الحالي لمصحح الأخطاء.
نصائح أخرى
لا، لا يمكنك القيام بذلك مباشرة من IDE.لسوء الحظ، فإن أسهل طريقة للتغلب على هذه المشكلة هي إيقاف تصحيح الأخطاء، وكتابة الحلقة داخل أسلوب ثابت عام يقوم بإرجاع الكائن الذي تبحث عنه، وإعادة الترجمة والتشغيل، ثم استدعاء هذا الأسلوب الثابت العام من النافذة الحالية أو نافذة المراقبة .
هناك خدعة أخرى أكثر إلحاحًا (ولكنها مزعجة) وهي كتابة "? myObjects
" في النافذة الحالية، انسخ والصق النتيجة في المفكرة، واستخدم البحث عن النص (Ctrl+F) في المفكرة للعثور على الكائن الخاص بك.