عرب تك
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

اذهب الى الأسفل
avatar
tarik
عدد المساهمات : 134
تاريخ التسجيل : 08/10/2012

تنقيح الأخطاء في برنامجك Empty تنقيح الأخطاء في برنامجك

الإثنين سبتمبر 30, 2013 4:58 pm
عند تطوير تطبيق ما يواجه المبرمج مشاكل وأخطاء تظهر أثناء التنفيذ أو الترجمة وتنقسم هذه الأخطاء إلى عدة أنواع: خطأ بالصيغة وهذا يسهل اكتشافه حيث لن يقوم الـ Compiler بترجمة المشروع وتنفيذه إن وجد خطأ من هذا النوع وقد تعترض عليه بيئة التطوير أثناء كتابتك لشفرة البرنامج - خط أحمر تحت العبارة - وأخطاء وقت التنفيذ وهذه أخطاء طارئة تحدث أثناء تنفيذ البرنامج ويجب مراقبتها في الشيفرة وهنا نستخدم عبارة Try ... Catch لحصر تلك الأخطاء وتجاوزها مثل عندما يحاول البرنامج فتح ملف قد يكون غير متوفر للفتح لأسباب متعددة مرتبطة ببيئة التشغيل وستجد شرحا عن هذا الأمر في موضوعي الاستثناءات Exceptions عودة للأساسيات - اصطياد الأخطاء ومعالجتها ونوع آخر وهي أخطاء منطقية في الكود حيث تلاحظ أن صيغة الأوامر صحيحة ولكن البرنامج لايقوم بالعمل كما يجب ففي هذه الحالة طرق تجاوز النوعين السابقين من المشاكل لن تفيدك وستضطر لاستخدام أدوت التنقيح Debugging tools لحصر وتصحيح تلك المشاكل وفيما يلي بعض النقاط التي تساعدك على استخدام هذه الأدوات لتجاوز المشاكل من النوع الأخير راجيا أن تغطي هذه العجالة قسما مما يستحقه هذا الموضوع من البحث

- يمكنك وضع نقاط التوقف Break Points لإيقاف تنفيذ البرنامج عند سطر معين ويمكن بعد التوقف متابعة تنفيذ البرنامج باستخدام F11 للمتابعة سطر سطر أو F5 لمتابعة تنفيذ البرنامج
يمكن وضع نقاط التوقف أو إزالتها باختيار البند Toggle Breakpoints من قائمة Debug أو ضغط المفتاح F9 أو النقر على الهامش الرمادي بجانب السطر المراد التوقف عنده وتظهر دائرة حمراء بجانب السطر دلالة على وضع نقطة التوقف عنده
- لتشغيل البرنامج مع التنقيح اختر Start Debugging من قائمة Debug أو اضغط F5 ولتشغليه بدون تنقيح اختر Start Without Debugging أو اضغط Ctrl+F5
- يمكنك ضغط المفتاح F11 لبدء البرنامج مع التنقيح سطر سطر
- اضغط F11 سترى أنك قد انتقلت لأول سطر كود سيتم تنفيذه ولمتابعة تنفيذ البرنامج سطر سطر تابع ضغط F11 سترى في كل مرة أنه قد نفذ سطرا آخر من البرنامج حيث يمكنك استخدام هذه الطريقة للفهم الدقيق لكيفية تنفيذ البرنامج
- يمكنك إيقاف تنفيذ البرنامج وذلك إما بالضغط على زر التوقف من شريط الأدوات أو Shift-F5
- اضغط F5 لتشغيل البرنامج وبهذا يبدأ تشغيل المنقح ويستمر تنفيذ الكود حتى يمر على نقطة توقف Break Point وعندها يتوقف عند السطر المحدد بنقطة التوقف المحددة سابقا وبينما أنت في وضع التوقف يمكنك متابعة بيانات الفئات في البرنامج عبر نافذتي Auots و Locals
- نافذة locals تريك جميع المتغيرات المعرفة ضمن مجال التنفيذ الحالي حيث يمكنك استخدامها لرؤية جميع خصائص تلك المتغيرات وقيمها ونافذة Autos تعمل بطريقة مشابهة ولكنها ترينا متغيرات قد لاتكون معرفة ضمن مجال التنفيذ الحالي
- إذا أوقفت مؤشر الفأرة فوق متغير أو خاصية ما وأنت في وضع التوقف ستلاحظ ظهور نافذة صغيرة تظهر لك تلك الخاصية وقيمتها ويمكنك عند الحاجة تغيير تلك الخاصية بالنقر المزدوج عليها وكتابة قيمة جديدة أو الضغط بالماوس اليميني عليها ثم اختيار Edit Value من القائمة وتغيير تلك القيمة حيث يمكنك بعدها متابعة التنقيح باستخدام F11
- لتغيير السطر التالي الذي سيتم تنفيذ الكود عنده فقط انقر بالماوس اليميني على الخاصية واختر من القائمة Set Next Statement ستلاحظ تغير مكان السهم الأصفر الذي يدل على السطر التالي الذي سيتم تنفيذه
- عندما توقف مؤشر الفأرة في وضع التوقف فوق نوع بيانات مركب مثل Me التي تشير للفئة الحالية مثلا أو متغير يشير إلى فئة أو تركيب ما أو قد يشير إلى Dataset مثلا يمكنك بالضغط على إشارات + لتنقل ورؤية جميع خصائص تلك الفئة أو نوع البيانات المركب أو تغييرها وذلك بنفس الطريقة التي تستخدمها للتنقل بين عناصر TreeView
- إذا أردت تنفيذ البرنامج حتى يصل لسطر معين يمكنك فعل ذلك مباشرة بدون الضغط على F11 للتنفيذ وذلك بالضغط بالماوس اليميني على ذلك السطر واختيار Run to Cursor حيث سيتم تنفيذ البرنامج حتى ذلك السطر
- لمراقبة قيمة متغير بشكل مستمر نستخدم Watch window حيث يمكنك النقر بالماوس اليميني على ذلك المتغير واختيار Add Watch حيث يمكنك رؤية ذلك المتغير ورؤية قيمته أو تغييرها مباشرة من تلك النافذة و بنفس الطريقة يمكنك أيضا إضافة Watch لأحد المعناصر المركبة ورؤية أو تغيير قيمة إحدى خصائصه
- لإزالة متغير من نافذة Watch فقط انقر بالماوس اليميني عليه في تلك النافذة واختر Delete Watch
- كما يمكنك كتابة اسم المتغير مباشرة في نافذة watch لمراقبته
- في حالة وجود كمية بيانات كبيرة أو بنية بيانات معقدة داخل المتغير كبيانات XML مثلا يمكنك ملاحظة أيقونة مكبرة بجانب تلك القيمة حيث يمكنك إما الضغط على المكبرة مباشرة لعرض البيانات أو النقر على السهم الصغير بجانبها لاختيار طريقة عرض تلك البيانات من القائمة حيث يمكنك اختيار Xml Visualizer مثلا في حالة بيانات من نوع XML
- يمكنك استخدام نقاط التعقب Trace Points ليقوم المنقح بتنفيذ عمل معين عند وصوله لهذه النقطة دون إيقاف تنفيذ البرنامج أو مع إيقاف التنفيذ
- لوضع نقطة تعقب Tracepoint انقر بالماوس اليميني على سطر الكود ثم من القائمة الفرعية Breakpoint اختر Insert Tracepoint وهذا يؤدي إلى ظهور مربع حوار When Breakpoint Is Hit الذي يمكنك من تحديد ماذا تريد أن يفعل عندما يصل التنفيذ لذك السطر حيث يوفر لك امكانية طباعة رسالة أو تنفيذ ماكرو بالإضافة إلى خيار لاستمرار التنفيذ أو إيقافه عند ذلك السطر كما يمكنك استخدام تعابير معينة لإظهار قيم خاصة في سطر الرسالة مثل TICK$ لاظهار استخدام المعالج أو TNAME$ لإظهار اسم مسار التنفيذ الحالي Current Thread Name وعند ضبطها ستلاحظ ظهور معين أحمر بجانب السطر دلالة على Trace Point عوضا عن الدائرة الحمراء التي تشير لـ Break Point وستظهر الرسائل المتعلقة بـ Trace Point في نافذة Output


الرجوع الى أعلى الصفحة
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى