أهلا ومرحبا بكم مرة أخرى.
في هذه المحاضرة ، أريد أن أخوض في شرح لكيفية استخدام مصحح الأخطاء.
لذلك أريد أن أجري عبر واجهة المستخدم الرسومية ، وأظهر لك كيف يمكنك بدء تشغيل برنامج في وضع التصحيح
، وكيف يمكنك تعيين نقاط التوقف ، وكيف يمكنك إلقاء نظرة على مكدس المكالمات وكيف يمكنك عرض المتغيرات المختلفة
باستخدام نافذة الساعة.
مجرد برنامج بسيط يحدد المتوسط.
سأستخدم هذا كمظاهري.
كل ما يفعله هو أنه يقرأ في ثلاثة أعداد صحيحة ويخزنها ثم يحسب متوسطها.
الآن ، هناك شيء واحد أريد أن أذكره قبل أن نستخدم مصحح الأخطاء فعليًا ، عليك التأكد من أن
التكوين الخاص بك قد تم إعداده بشكل صحيح.
وقد تحدثت عن هذا في مقطع فيديو سابق ، حيث أقوم أساسًا بتكوين ضوء الكود لاستخدام مصحح الأخطاء.
ولكن فقط لتحديث ذاكرتك ، يمكنك تحديد المشروع هنا ، يمكنك النقر بزر الماوس الأيمن والانتقال إلى
الإعدادات.
تريد أن تتأكد مرة أخرى ، اعتمادًا على النظام الأساسي الذي تستخدمه ، أنك تريد التأكد من
أن إعدادات مصحح الأخطاء هنا على اليسار لها المسار الصحيح إلى GDB.
الآن ، إذا كنت تستخدم نظام التشغيل Windows ، فقد يستلزم ذلك استخدام GDB X من Cygwin أو ربما تستخدم MinGW w64 ، أيًا كان
ما عملت عليه.
إذا كنت تستخدم نظامي Unix و Linux ، فلا يلزم بالضرورة تعيين هذا المسار.
الشيء المهم الآخر هو في خيارات المترجم الذي تريد التأكد من أنك تقوم بالتجميع
من أجل التصحيح بحيث يكون Dash G dwarf في وضع اندفاعة للتحسين.
مرة أخرى ، في Windows ، يجب تعيين هذه الأشياء من أجل الحصول على معلومات تصحيح الأخطاء مع الملف القابل
للتنفيذ.
يجب عليك أيضًا التأكد من أنك تقوم بإنشاء وضع التصحيح.
لذلك عليك التأكد من تحديد التصحيح وليس تحريره.
بمجرد تكوين كل هذه الأشياء بشكل صحيح ، يجب أن تكون قادرًا على استخدام المصحح ومصباح
الشفرة.
إذا كان لديك أي مشاكل في ذلك ، يرجى الرجوع إلى الفيديو الخاص بي للتكوين على النظام الأساسي الخاص بك.
المصحح وضوء الكود.
أهم مفهوم يتعلق بمصحح الأخطاء هو فكرة نقطة التوقف.
وبالتالي فإن نقطة التوقف هي شيء يمكنك تعيينه في برنامجك حيث ستتوقف عن تنفيذ التعليمات البرمجية
الخاصة بك.
يمكنك أن تقول بشكل أساسي ، مرحبًا ، أريد أن أتوقف عند هذا السطر وسيتوقف برنامجك عند تشغيل
مصحح الأخطاء عند هذا السطر الذي يسمح لك بالنظر إلى المتغيرات وقيم المتغيرات.
يسمح لك بالمرور عبر الكود الخاص بك سطرًا واحدًا في كل مرة لمحاولة تشخيص وإصلاح أي مشاكل قد تكون
موجودة.
عادةً ، عند تشغيل البرنامج ، إذا حاولت تشغيله في مصحح الأخطاء ولم يكن لديك مجموعة نقاط
توقف ، فلن يحدث شيء.
لذلك عادةً عندما تقوم بالبناء ، كما تعلم ، يمكنك أن تبدأ ويمكنك بناء مشروعك
تمامًا مثل أي مشروع آخر ، اذهب للبناء ، اذهب لبناء مشروع.
عند إنشائه وتشغيله في وضع التصحيح ، يجب عليك الانتقال إلى خيار قائمة مصحح الأخطاء
وعليك أن تبدأ ، وتتابع المصحح.
وعندما تقوم بتنفيذ ذلك مرة أخرى ، إذا كان لديك مجموعة نقاط توقف ، فسوف تصل إليها.
إذا لم يكن لديك مجموعة نقاط توقف ، فسيتم تشغيلها فقط.
لذلك إذا حاولنا تنفيذ هذا البرنامج في وضع التصحيح ، فسيظهر فقط ويطلب الإدخال
لأنه يتوقف عند الأرقام مباشرةً ثم تضغط على بعض الأرقام وتغلق فقط.
إنه لا يطبع المعلومات بالفعل ، أليس كذلك؟
لذلك من المهم جدًا إذا كنت تريد استخدام مصحح الأخطاء أن يكون لديك مجموعة نقاط توقف واحدة على الأقل.
أسهل طريقة لتعيين نقطة توقف هي النقر ببساطة داخل الهامش بجانب أرقام الأسطر على رقم السطر الذي تريد تعيين
نقطة الإيقاف فيه.
ومرة أخرى ، ستتوقف نقطة التوقف عن التنفيذ على رقم السطر هذا.
لذلك إذا قمنا بتعيين نقطة توقف مباشرة من خلال وظيفة printf في السطر العاشر ، فإننا ننقر نقرًا مزدوجًا فقط
، وسترى أنه يتم وضع دائرة حمراء.
هذا يخبر المصحح ، توقف عند السطر العاشر.
لذا مرة أخرى ، الطريقة التي نبدأ بها برنامج تصحيح الأخطاء هي أننا ننتقل إلى المصحح ونقول ، ابدأ ، تابع ، أليس
كذلك؟
كل شيء آخر هو نوع من الرمادي ، أليس كذلك؟
لذلك دعونا نبدأ مصحح الأخطاء فقط للوصول إلى نقطة التوقف هذه.
لنبدأ إذن في متابعة مصحح الأخطاء وسنقول إنشاء وتصحيح الأخطاء وستلاحظ
أن البرنامج يتوقف عند السطر العاشر.
ترى هذا السهم الأخضر ، سترى أيضًا ظهور جزء مصحح الأخطاء.
لذلك إذا انتقلت إلى العرض ، فيمكنك بالفعل إظهار جزء مصحح الأخطاء يدويًا أو يمكن أن يظهر تلقائيًا
عند الانتقال إلى وضع التصحيح ويحتوي جزء مصحح الأخطاء على العديد من علامات التبويب المختلفة للمعلومات التي يمكن رؤيتها.
يمكنك أيضًا تصفحها من خلال مصحح الأخطاء الذي تنتقل إليه من نوافذ GDB ، ويمكنك رؤية كل تلك التي
تم فحصها.
هناك العديد من إطارات مصحح الأخطاء التي يمكنك إلقاء نظرة عليها.
لذلك عادة ما يتعلق السكان المحليون بساعات المتغيرات المحلية الخاصة بك.
يمكنك وضع ساعة على متغير بحيث يطفو على السطح إذا تغير المتغير.
الإخراج للاستخدام في خيارات التصحيح المختلفة وخيوط الإخراج.
يمكنك بالفعل إلقاء نظرة على المواضيع التي تقوم بتشغيل برنامجك.
مفهوم Callstack الأكثر تقدمًا هو ما نركز عليه.
نحن ننظر بشكل أساسي إلى مكدس المكالمات والسكان المحليين.
هذان هما أهم عنصران يساعدانك في تصحيح الأخطاء ثم الذاكرة ثم نقاط التوقف أيضًا.
يمكنك أن ترى مكان تعيين نقاط التوقف.
لذلك الكثير من الخيارات المختلفة.
نحن توقفنا حاليا في السطر العاشر.
يمكننا إلقاء نظرة على مكدس المكالمات.
يوضح لنا مكدس الاستدعاءات أن الوظيفة الرئيسية تسمى.
إذا نظرنا إلى السكان المحليين ، فسنجد لنا ثلاثة متغيرات صفر واحد وصفر.
لم ندخل في الواقع أي معلومات في هذه التهيئة صفر واحد وصفر.
الساعة يمكنك إضافتها بالفعل.
أضف عن طريق الضغط على علامة الجمع لإضافة ساعة إلى متغير معين.
ثم الشيء المهم الآخر الذي يجب ملاحظته هو عند التشغيل في وضع التصحيح ، لديك الآن شريط الأدوات
لمصحح الأخطاء ، أليس كذلك؟
سوف يستمر زر التشغيل فقط.
لذلك سوف تذهب.
إذا قمت بالضغط على play ، فسيتم الخروج من البرنامج ، أليس كذلك؟
سيبدأ الجري فقط.
سيطلب البرنامج في الواقع المدخلات.
لذلك ضربت اللعب.
أعود إلى تطبيق وحدة التحكم ويقول إدخال.
لذلك ضربت أرقامي الثلاثة في برنامج التشغيل.
ثم ما زلت لا ترى وظيفة الطباعة.
اختفت النافذة للتو.
مرة أخرى ، نقوم بتشغيل وضع التصحيح وينتقل إلى نقطة التوقف مرة أخرى ، يظهر جزء مصحح الأخطاء ، ويتوقف عن السطر
العاشر.
يعد شريط الأدوات الآن مهمًا لأن هذه هي الطريقة التي يمكنك بها التنقل خلال التعليمات البرمجية الخاصة
بك ويمكنك بالفعل استخدام شريط الأدوات أو يمكنك الانتقال إلى مصحح الأخطاء ويمكنك إلقاء نظرة على جميع الخيارات هنا.
لذا يمكنك أن تقول خطوة إلى التعليمات التالية ، التعليمات التالية ، خطوة ، خطوة إلى ستدخل
داخل دالة.
إذا تم استدعاء وظيفة في هذا السطر ، فإن الخطوة في التعليمات تنتقل أكثر إلى عناصر نوع لغة
التجميع.
بعد ذلك ، سنقفز فوق هذا السطر من التعليمات البرمجية بعد ذلك.
وتعليمات الرقبة هي نفس الشيء.
اخرج ، وحاول القفز من وظيفة إذا كنت بالفعل في واحدة والقفز إلى خط الجزرة.
في الواقع أعتقد أنه يذهب إلى المؤشر.
الشيء نفسه مع الجري إلى خط الجزرة.
يمكنك تشغيل نقاط التوقف وإيقافها ، وتعطيلها جميعًا ، وكل هذه الأشياء حتى تتمكن من الوصول إليها من خلال
القائمة.
أو مرة أخرى ، شريط الأدوات.
عادةً ما أستخدم شريط الأدوات لأنه يعمل بالفعل.
ثم إذا نظرت إلى النوافذ المختلفة مرة أخرى ، فإن السكان المحليين يستدعيون المكدس ونقاط التوقف.
حقا تلك الأشياء المهمة.
هذا يقول لدي نقطة توقف في السطر العاشر.
وبعد ذلك أعتقد أن المرء يقول فقط المؤشر.
لقد توقفت الآن هنا عند print F أدخل في السطر العاشر.
يمكنني الانتقال إلى التعليمات التالية وسوف ينتقل هذا إلى مسح السطر 11.
F هي في الواقع وظيفة حظر تطلب إدخالاً.
لذا إذا حاولت الانتقال بعد ذلك إلى هنا ، فهذا في الواقع مجرد نوع من التوقف المؤقت.
قد تضطر في الواقع إلى ضرب عدة مرات في المرة القادمة.
ما أفعله عادةً عندما يطلب البرنامج إدخالاً وأريده ، لقد تم حظره بالفعل ، لقد تم إيقافه بالفعل
وأريد أن ينتقل إلى التالي.
سأضع نقطة فاصل على السطر التالي واضغط على زر التشغيل.
الآن قمت بالضغط على زر التشغيل ولم يحدث شيء لأنه ينتظر الإدخال.
في البرنامج تقول أدخل.
لذا يمكنني هنا الضغط على خمسة ، ستة ، سبعة ، الضغط على زر الإدخال ، والآن يصل إلى نقطة الانكسار الخاصة بي.
لذلك نحن الآن على زر الطباعة حيث يمكننا بالفعل الانتقال إلى وظيفة الطباعة.
وفي الواقع ، ستنتقل أولاً إلى دالة المتوسط.
إذا قلنا خطوة إلى الأمام ، فسنلاحظ أننا ننتقل إلى دالة المتوسط.
وما ستلاحظه هو إذا نظرت إلى المتغيرات الخاصة بك ، يمكنك نوعًا ما رؤية المتغيرات الخاصة بك تتغير.
لذا إذا انتقلت بعد ذلك ، فستنتقل إلى السطر التالي في 27 ، ثم 28 ، ثم واصلت الضرب.
بعد ذلك ، تقفز في الواقع وأنت في نهاية الوظيفة.
بعد ذلك يمكنك النقر فوق تشغيل ويمكنك أن ترى أن برنامجك قد اكتمل الآن واختفت النافذة.
لكن يمكنك إلقاء نظرة على المتغيرات الخاصة بك ، يمكنك النظر إلى كل شيء آخر.
وهكذا ، مرة أخرى ، يمكنك أيضًا وضع نقطة فاصل داخل وظيفة الطباعة هنا.
وإذا ركضنا إلى ذلك ، يمكننا أن نرى مرة أخرى أن وظيفة الطباعة ستتوقف عن التنفيذ بدلاً من المتوسط.
وبعد ذلك يمكننا أن نرى نوعًا ما يحدث في الواقع إذا تقدمنا وذهبنا إلى
التطبيق ، يمكنك أن ترى أن المعلومات قد تمت طباعتها.
يمين؟
عند المتابعة ، عند الجري حتى النهاية ، تحصل على بيان الإرجاع وسيخرج البرنامج.
لذلك من المهم إذا كنت تريد أن ترى إخراج البرنامج أن تضع نقطة فاصل
قبل ذلك العودة ولن تضطر إلى المتابعة.
يمكنك إيقاف مصحح الأخطاء عن طريق الضغط على هذا المستطيل الأحمر ، وإيقاف المصحح مؤقتًا عن طريق الضغط على الشريطين
المتوازيين ، وإعادة تشغيل المصحح باستخدام هذا الخيار وكدس الاتصال.
مرة أخرى ، من الأسهل رؤية ما إذا كنت تدخل داخل إحدى الوظائف وقمت بتشغيل مصحح الأخطاء ، فسنقوم بتشغيل مصحح الأخطاء
مرة أخرى.
قل المصحح ، ابدأ ، تابع.
وعندما نصل إلى نقطة التوقف هذه بعد إدخال المعلومات داخل إحدى الوظائف ، سترى أن مكدس السيارة يحتوي
على العنصر الرئيسي والطباعة تمامًا كما أظهرنا من قبل.
وهكذا يمكنك أن ترى الوظيفة الأخيرة التي تم استدعاؤها الآن مع برنامج يحتوي على العديد من الوظائف وما إلى
ذلك ، يمكن أن يصبح مكدس الاستدعاءات أكبر بكثير من هذا.
الشيء الآخر الوحيد الذي قد يكون مهمًا هو نقاط التوقف.
إذا كنت تريد معرفة نقاط التوقف التي قمت بتعيينها ، فستظهر لك جميع نقاط التوقف وبرنامجك
بالكامل حيث توجد.
لكن سيتعين عليك اللعب مع هذا ، والتعرف عليه ، والاعتياد عليه ، واستخدامه كثيرًا في المشكلات التي
لا يمكنك حلها باستخدام تقنيات أو برامج تصحيح الأخطاء الأساسية.
تحطم يذهب سطرا بسطر.
ومع تقدمك سطراً بسطر ، يمكنك في الواقع رؤية خروج البرنامج بمجرد تعطله
وستعرف السطر الذي حدث عليه.
مرة أخرى ، هذا برنامج صغير ، لكن يجب أن تحصل على الفهم الأساسي لكيفية عمل تصحيح الأخطاء.
مرة أخرى ، آمل أن يكون هذا مفيدًا.
أفضل طريقة لتعلم هذه الأشياء هي البدء في اللعب بها والبدء في استخدامها.
اطرح أحد البرامج التي عملت عليها في التحدي السابق.
أضف نقطة فاصل ، بسيطة للغاية.
فقط انقر داخل الشيء لإضافة نقاط فاصل.
ابدأ تشغيله في وضع التصحيح وتصفح كل سطر وشاهد كيف تتغير المتغيرات وكيف يزيد مكدس
الاستدعاءات.
إذا كان لديك وظائف أكبر.
شكرًا لك.