فهم مصحح الأخطاء .NET في Visual Studio
في الوحدة النمطية السابقة، تعلمت أن مصحح الأخطاء يساعدك على التحكم في تنفيذ البرنامج ومراقبة حالته. في هذا القسم، ستتعلم كيفية القيام بكل من هاتين المهمتين في Visual Studio.
لنبدأ بطريق تعلم كيفية تكوين مصحح الأخطاء Visual Studio لاستخدامه مع .NET.
البدء باستخدام مصحح أخطاء Visual Studio
استخدم زر البدء (المثلث الأخضر الصلب) في شريط أوامر Visual Studio لتشغيل التطبيق مع إرفاق مصحح الأخطاء. لاحظ أن شريط الأوامر يتضمن الآن اسم المشروع. بمجرد تشغيل التطبيق، ستتوفر المزيد من أدوات وميزات تصحيح الأخطاء.
- يحدد تكوين الحل ما إذا كان سيتم تشغيل تطبيقنا في وضع التصحيح أو الإصدار
- يحدد تكوين النظام الأساسي نظاما أساسيا مستهدفا لوحدة المعالجة المركزية
- بدء تشغيل التطبيق مع إرفاق مصحح الأخطاء
- بدء تشغيل التطبيق مع عدم إرفاق مصحح الأخطاء
التحكم في التنفيذ
بمجرد تشغيل التطبيق، تظهر عناصر التحكم في تصحيح الأخطاء بجوار زر البدء الذي نقرت فوقه لتشغيل التطبيق.
- 1) متابعة التنفيذ أو إيقافه مؤقتا. إذا تم إيقاف التنفيذ مؤقتا على نقطة توقف، فحدد هذا الزر للمتابعة حتى يتم الوصول إلى نقطة التوقف التالية. إذا كان البرنامج قيد التشغيل، فإن الزر يتحول إلى «زر إيقاف مؤقت» يمكنك استخدامه لإيقاف التنفيذ مؤقتًا.
- 2) عناصر التحكم في إعادة التحميل السريع. تتيح لك هذه الميزة، التي تم تقديمها في Visual Studio 2022، إجراء تغييرات وتحديث التعليمات البرمجية دون إعادة تشغيل التطبيق.
- 3) توقف. يوقف هذا الزر التطبيق قيد التشغيل، والذي يفصل أيضا مصحح الأخطاء.
- 4) إعادة التشغيل. إيقاف التطبيق وإعادة تشغيله مع إرفاق مصحح الأخطاء.
-
5) خطوة إلى. إذا كانت العبارة التالية هي استدعاء دالة، فانتقل إلى عبارة التعليمة البرمجية الأولى لهذه الدالة (تمامًا مثل الأمر
step). - 6) خطوة أكثر. إذا كانت العبارة التالية عبارة عن استدعاء دالة، فقم بتنفيذ التعليمية البرمجية، ولكن انتقل على الفور إلى السطر التالي من التعليمات البرمجية في الدالة الحالية.
-
7) الخروج. إذا كنت داخل دالة، فقم بتنفيذ التعليمات البرمجية المتبقية لهذه الدالة ثم انتقل مرة أخرى إلى العبارة بعد استدعاء الدالة
outالأولية (مثل الأمر).
نقاط التوقف هي واحدة من الميزات الأساسية لتصحيح الأخطاء وهي تتكامل مع عناصر التحكم هذه، لذلك دعونا نستكشفها بمزيد من التفصيل.
نقاط التوقف
كما تعلمت في الوحدة النمطية السابقة، يساعدك مصحح الأخطاء في تحليل تنفيذ البرنامج والتحكم فيه. عند بدء تشغيل تطبيقك باستخدام مصحح الأخطاء Visual Studio المرفق، تبدأ التعليمات البرمجية في التنفيذ على الفور. ولأن تنفيذ التعليمة البرمجية يتم بسرعة، تحتاج إلى أن تكون قادرًا على إيقاف البرنامج مؤقتًا على أي عبارة. يمكنك استخدام نقاط التوقف للقيام بذلك.
يمكنك إضافة نقطة توقف في Visual Studio بالنقر فوق الجانب الأيمن من رقم السطر على السطر الذي تريد فصله. يجب أن تشاهد دائرة حمراء بعد تمكين نقطة الإيقاف. لإزالتها، حدد «الدائرة الحمراء مرة أخرى».
إذا نقرت بزر الماوس الأيمن لإضافة نقطة توقف، أو انقر بزر الماوس الأيمن فوق نقطة توقف موجودة، يمكنك أيضا تحديد إضافة نقطة توقف شرطية. يسمح لك هذا النوع الخاص من نقاط التوقف بتعريف شرط أو معايير عند تشغيل نقطة التوقف. تسمح لك هذه القائمة أيضا بتحديد الخيار تمكين فقط عند الوصول إلى نقطة التوقف التالية لإنشاء تنفيذ نقاط توقف قابلة للتسلسل، من بين إجراءات أخرى.
يمكنك أيضا استخدام نقطة توقف مؤقتة إذا كنت تريد قطع التعليمات البرمجية مرة واحدة فقط. يمكنك تطبيق نقاط التوقف المؤقتة بالنقر بزر الماوس الأيمن فوق عمود نقطة التوقف وتحديد إدراج نقطة توقف مؤقتة. ستتم إزالة نقاط التوقف المؤقتة بعد الوصول إليها في المرة الأولى.
يمكنك أيضا إضافة نقاط التتبع بالنقر بزر الماوس الأيمن في عمود نقطة التوقف وتحديد إدراج Tracepoint. تسمح لك نقاط التتبع بتسجيل المعلومات إلى نافذة الإخراج في ظل ظروف قابلة للتكوين دون تعديل أو إيقاف تنفيذ التعليمات البرمجية.
وأخيرا، في نافذة نقاط التوقف (>)، يمكنك مشاهدة جميع نقاط التوقف التي وضعتها في التعليمات البرمجية الخاصة بك والتبديل إليها. ويمكنك أيضا تبديل الخيارات لتفصيل الاستثناءات المعلومة أو غير المعلومة. يمكنك استخدام «لوحة نقاط التوقف» لفحص حالة برنامجك وتتبع مصدر استثناء باستخدام «مكدس الاستدعاءات» عند حدوث أحدهم.
أدوات تصحيح الأخطاء Visual Studio
بعد إعداد نقاط التوقف وبدء تشغيل التطبيق، تظهر نوافذ المعلومات الجديدة وعناصر التحكم على الشاشة.
- عناصر تحكم تشغيل مصحح الأخطاء.
- نقطة التوقف الحالية وخط التنفيذ.
- نافذة المراقبة لمراقبة القيم المتغيرة.
- نافذة نقاط التوقف لعرض جميع نقاط التوقف.
يمكنك أيضا الوصول إلى نوافذ تصحيح الأخطاء المفيدة الأخرى عن طريق تحديد Debug>Windows على طول شريط التنقل العلوي. على سبيل المثال، تتضمن الأدوات شائعة الاستخدام ما يلي:
- نافذة مكدس الاستدعاءات: تسمح لك بعرض الأساليب التي تم استدعاؤها.
- نافذة فورية: تسمح لك بكتابة التعبيرات وتقييمها أثناء تصحيح الأخطاء.
- نافذة Autos: تضيف الساعات تلقائيا إلى المتغيرات في السياق الحالي.
- نافذة الإخراج: تعرض إخراج عبارات التسجيل أو التعليمات البرمجية التي تكتب إلى وحدة التحكم.
مراقبة وتحرير حالة المتغيرات
عند تحليل سبب عيب البرنامج، شاهد حالة المتغيرات للبحث عن تغييرات غير متوقعة. هناك العديد من خيارات نافذة المراقبة في Visual Studio، التي يمكنك استخدامها في سياقات تصحيح الأخطاء المختلفة لمراقبة حالة المتغيرات.
- نافذة المراقبة: تسمح لك بتعقب المتغيرات والتعبيرات المحددة بمرور الوقت أثناء تصحيح الأخطاء.
- نافذة Locals: تعرض المتغيرات تلقائيا في نطاق التنفيذ الحالي والسياق.
- نافذة Autos: تعرض تلقائيا أي متغير مستخدم على السطر المنفذ حاليا أو السابق.
- نافذة فورية: تسمح لك بتقييم التعبيرات والمتغيرات المباشرة أثناء تصحيح الأخطاء.
تسمح لك معظم هذه النوافذ أيضا بالنقر نقرا مزدوجا فوق قيمة متغير وتغيير قيمته أثناء تصحيح الأخطاء.
نافذة Watch مفيدة لتعقب المتغيرات أثناء تنفيذ التعليمات البرمجية الخاصة بك. يمكنك النقر بزر الماوس الأيمن فوق متغير في المحرر وتحديد إضافة لمشاهدته. يعرض هذا المتغير الآن في نافذة المراقبة ويحدث تلقائيا أثناء تنفيذ تطبيقك.
يمكنك أيضا النقر بزر الماوس الأيمن فوق المتغيرات في نافذتي Autos أو Locals لإضافة ساعة.
طريقة أخرى منتجة لعرض وتحليل المعلومات المتغيرة أثناء تصحيح الأخطاء هي باستخدام DataTips. عند التوقف مؤقتا عند نقطة التوقف، مرر مؤشر الماوس فوق أي متغير في النطاق الحالي. تظهر DataTip وتعرض الاسم والقيمة الحالية لخصائص المتغير. عن طريق تمرير معلم الوظيفة أو متغير مباشرة في نافذة المحرر، يمكنك أيضاً تحرير قيمته بسرعة.
مكدس الاستدعاءات:
في كل مرة يدخل فيها البرنامج وظيفة، تتم إضافة إدخال إلى مكدس الاستدعاءات. عندما يصبح التطبيق الخاص بك معقدًا ويكون لديك دوال استدعاء داخل الدوال عدة مرات، فإن مكدس الاستدعاءات يمثل مسار استدعاءات الدوال.
من المفيد العثور على مصدر استثناء. إذا كان لديك عطل غير متوقع في البرنامج، فغالبا ما ترى شيئا ما في وحدة التحكم مثل المثال التالي:
Unhandled exception. System.IndexOutOfRangeException: Index was outside the bounds of the array.
at OrderProcessor.OrderQueue.ProcessNewOrders(String[] orderIds) in C:\Users\Repos\OrderProcessor\OrderQueue.cs:line 12
at OrderProcessor.Program.Main(String[] args) in C:\Users\Repos\OrderProcessor\Program.cs:line 9
تسمىat [...]مجموعة الأسطر ضمن رسالة الخطأ بتتبع المكدس. يوفر تتبع المكدس اسم وأصل كل دالة تم استدعاؤها قبل الوصول إلى الاستثناء. ومع ذلك، قد يكون من الصعب قليلا فك التشفير، لأنه يتضمن أيضا وظائف داخلية من وقت تشغيل .NET.
تأتي نافذة مكدس المكالمات في Visual Studio في متناول اليد هنا. حيث تقوم بتصفية المعلومات غير المرغوب فيها لتظهر لك فقط الدوال ذات الصلة من التعليمة البرمجية الخاصة بك بشكل افتراضي. يمكنك بعد ذلك إلغاء مكدس الاستدعاءات هذا لمعرفة مصدر الاستثناء.
في الوحدة التالية، يمكنك المشي من خلال تمرين باستخدام مصحح الأخطاء لإصلاح الخطأ في التعليمات البرمجية Fibonacci التي رأيناها سابقا.
تحديد إعدادات مصحح الأخطاء
في Visual Studio، يمكنك تحديد إعدادات مختلفة لسلوك مصحح الأخطاء. بما في ذلك كيفية عرض المتغيرات، وما إذا كان يتم تقديم تحذيرات معينة، وكيفية تعيين نقاط التوقف، وكيف يؤثر الكسر على البرامج قيد التشغيل. يمكنك أيضا تكوين مشروعك للإنشاء كتكوين Debug أو Release.
لتكوين إعدادات مصحح الأخطاء، استخدم >قائمة أدوات تصحيح الأخطاء خيارات>، والتي توفر لك فئات مختلفة من الخيارات. الخيارات الأكثر شيوعا هي في الفئة عام .