كمطور ، من الضروري إتقان مهارات التصحيح في بيئة التنمية. عند كتابة برامج Java ، نواجه في كثير من الأحيان مشاكل مختلفة لا يمكن تفسيرها. من أجل اكتشاف المكان الذي يمثل فيه البرنامج مشكلة ، نحتاج غالبًا إلى إضافة سجلات لرؤية قيمة المتغيرات ، لذلك فإن تصحيح الأخطاء مزعج للغاية. لنفترض أنني أقضي ساعة واحدة في اليوم في تصحيح طلبي ، سيكون ذلك كثيرًا من الوقت إذا كان يتراكم. لهذا السبب ، استخدم هذا الوقت لتقييم وفهم جميع الميزات التي تجعلنا نخطئ بشكل أكثر ملاءمة. يمكن أن يوفر لك بعض الوقت وسيجعل حياتك أكثر راحة واسترخاء.
1
النوافذ الأكثر استخدامًا في تصحيح الأخطاء هي:
| نافذة | يوضح |
|---|---|
| نافذة تصحيح | يعرض بشكل أساسي مكدس استدعاء طريقة مؤشر الترابط الحالي ، بالإضافة إلى عدد أسطر الرمز (رمز مع معلومات تصحيح الأخطاء) |
| نافذة نقاط التوقف | => نافذة قائمة نقطة الإيقاف ، والتي يمكن أن تسهل إضافة نقاط التوقف ، وإعداد ظروف نقطة التوقف ، وحذف نقاط التوقف ، إلخ. |
| نافذة المتغيرات | => عرض المتغير المحلي للطريقة الحالية ، يمكن أن يؤدي الطريقة غير المنتظمة ، بما في ذلك هذا التطبيق ، إلى تعديل وتغيير قيمة المتغير |
| نافذة تحرير الكود | => لا داعي لقول المزيد |
| إخراج نافذة وحدة التحكم | => سجلات ومحتوى الإخراج الآخر. أثناء تصحيح الأخطاء ، يمكنك تعيين مستوى الاهتمام بمكون أقل قليلاً للحصول على معلومات مخرجات متعددة. |
بالإضافة إلى ذلك ، النوافذ الإضافية هي:
| نافذة | يوضح |
|---|---|
| نافذة التعبير التعبير | => اكتب التعبير عن البيانات التي تحتاج إلى مراقبة ، أو تعديل قيمة العداد |
| نافذة العرض | => يمكن تنفيذ كتل التعليمات البرمجية ومحتوى الإخراج وما إلى ذلك في العرض |
| الخطوط العريضة النافذة | => عرض الأساليب والمتغيرات وما إلى ذلك من الفئة الحالية |
| اكتب نافذة التسلسل الهرمي | => تحقق من مستوى الميراث للفئة الحالية ، بما في ذلك واجهات التنفيذ ومستويات الميراث الفئة |
| طريقة الاتصال استدعاء نافذة التسلسل الهرمي | => تحقق من الأساليب التي تسمى ، أي فئات تسمى ، وأي الصف هو الطريقة المقابلة يمكن فتحها مباشرة |
| نافذة البحث نتائج البحث | => الجمع بين مفاتيح الاختصار ، يمكنك عرض مواقع التعليمات البرمجية التي يتم الرجوع إليها أو تحديدها في مساحة العمل والمشروع ومجموعات العمل. |
1) عرض كامل للنافذة:
2) عرض التصحيح (عرض مكدس الموضوع):
تتيح لك عرض Debug إدارة البرنامج الذي يجري تصحيحه وتشغيله على طاولة العمل. يوضح إطارات المكدس للموضوعات المعلقة في البرنامج الذي تقوم بتصحيحه ، ويظهر كل مؤشر ترابط في البرنامج كعقدة للشجرة. انه يعرض العملية لكل هدف قيد التشغيل. إذا تم تعليق الخيط ، فسيتم عرض إطار المكدس كعنصر طفل. فيما يلي بعض أزرار التصحيح الشائعة الاستخدام:
1. يشير إلى أن التنفيذ الحالي يستمر في التشغيل حتى نقطة الإيقاف التالية ، وأن مفتاح الاختصار هو F8.
2. هذا يعني مقاطعة العملية بأكملها
3. هذا يعني إدخال الطريقة الحالية ، ومفتاح الاختصار هو F5.
4. وهذا يعني تشغيل السطر التالي من الكود ، ومفتاح الاختصار هو F6.
5. وهذا يعني الخروج من الطريقة الحالية والعودة إلى طبقة الاتصال. مفتاح الاختصار هو F7.
6. تمثيل كومة الخيط الحالي ، والتي يمكنك من خلالها معرفة الرمز الذي يتم تشغيله ، وعملية الاتصال بأكملها ، وكذلك رقم سطر الكود
مقدمة مفصلة:
تخطي جميع نقاط التوقف: اضبط جميع نقاط التوقف على تخطيها. بعد تعيين تخطي جميع نقاط التوقف ، سيكون هناك مائل على جميع نقاط التوقف ، مما يشير إلى أنه سيتم تخطي نقطة التوقف ولن يتم تعليق الخيط عند نقطة الإيقاف.
DROP إلى الإطار: يسمح هذا الأمر للبرنامج بالعودة إلى بداية الطريقة الحالية وبدء التنفيذ مرة أخرى. يمكنك إعادة تنفيذ إطار مكدس Java. يمكنك تحديد إطار مكدس محدد ثم انقر فوق Drop إلى الإطار ، بحيث يمكنك إعادة إدخال إطار المكدس المحدد. انتبه إلى استخدام Drop to Frame:
1. لا يمكن أن تسقط في الطريقة في مكدس الطريقة المنقولة بالفعل.
2. عند الانخفاض في إطار المكدس ، لن يتم تغيير القيمة الأصلية للبيانات العالمية. على سبيل المثال ، لن يتم مسح عناصر تحتوي على عناصر.
مرشحات الخطوة: هذه الوظيفة بسيطة نسبيًا. عندما نريد تجاهل بعض الفصول التي لا نولي اهتمامًا لها عند تصحيح الأخطاء ، يمكننا تمكين مرشحات الخطوة للتصفية. سيستمر البرنامج في التنفيذ حتى يتم مواجهة موقف أو نقطة توقف غير مطلقة. تتكون وظيفة Filters Step من أربعة عناصر: استخدم Filters Step ، وتحرير مرشحات الخطوة ، ونوع المرشح ، وحزمة التصفية. العمليات المحددة هي كما يلي:
الخطوة 1: Windows -> التفضيلات -> Java -> Debug -> تصفية الخطوة.
الخطوة 2: حدد "استخدم Filters"
الخطوة 3: حدد الخيار المطلوب على الشاشة. يمكنك إضافة بعض التعليمات البرمجية في قاعدة الشفرة الخاصة بك.
الخطوة 4: انقر فوق "تطبيق"
من حيث المبدأ ، يتم استخدام أمر تحرير خطوة Filter لتكوين قواعد تصفية الخطوة ، بينما تشير حزمة نوع المرشح وحزمة المرشح إلى أنواع Java المصفاة وحزمة Java على التوالي.
العودة الخطوة: ترتد من الطريقة الحالية. أثناء تنفيذ الطريقة التي تم استدعاؤها ، سيقفز استخدام خطوة الإرجاع من الطريقة والعودة إلى الطريقة التي تستدعي الطريقة بعد تنفيذ جميع رمز الطريقة الحالية.
الخطوة: عند تنفيذ خطوة واحدة ، عند مواجهة وظائف فرعية في الوظيفة ، لن يدخل الوظيفة الفرعية لأداء خطوة واحدة ، ولكن سيوقف تنفيذ كامل الوظيفي ، أي أن الوظيفة الفرعية بأكملها هي خطوة واحدة.
خطوة إلى: خطوة إلى: تدخل ، ودخل واستمر في التدخل عند مواجهة وظائف فرعية.
السيرة الذاتية: استعادة الخيط الموقف والقفز مباشرة من الموضع الحالي إلى موضع نقطة التوقف التالي.
تعليق: إيقاف مؤشر الترابط المحدد ، ويمكنك تصفح أو تعديل الرمز ، والتحقق من البيانات ، إلخ.
يدعم Eclipse تعليق الخيوط واستردادها من خلال التعليق والسيرة الذاتية. بشكل عام ، تعليق مناسب لتصحيح البرامج متعددة الخيوط. عندما نحتاج إلى عرض إطار المكدس والقيم المتغيرة لخيط معين ، يمكننا تعليق الخيط من خلال أمر التعليق. يستخدم السيرة الذاتية للشفاء.
هناك نوعان من السيرة الذاتية التي تحتاج إلى الاهتمام:
الأول هو تعديل رمز البرنامج أثناء عملية تصحيح الأخطاء ، وحفظه ، والنقر فوق السيرة الذاتية ، وسيتم تعليق البرنامج مؤقتًا عند نقطة الإيقاف.
والثاني هو أنه عندما يلقي البرنامج استثناء ، سيتم تشغيل السيرة الذاتية ، وسيتم تعليق البرنامج مؤقتًا عند نقطة الإيقاف.
الإنهاء: ينهي Eclipse تصحيح البرامج المحلية من خلال أمر إنهاء.
Disconnect: يستخدم Eclipse الأمر disnockonnect لإنهاء اتصالات المقبس إلى JVMs عن بُعد.
1. تصحيح الأخطاء والتنفيذ
| علامة | وظيفة | مفتاح الاختصار | يصف |
|---|---|---|---|
| 6.4 | معلومات الخطوة | F5 | -> خطوة إلى (إذا كان هناك مكالمة طريقة ، فسيقوم بإدخال طريقة الاتصال لتصحيح الأخطاء) ؛ |
| 6.4 | خطوة | F6 | -> تخطي خطوة خطوة بخطوة (في أي استدعاء طريقة لا تدخل السطر ، قم بتنفيذ السطر الحالي للرمز مباشرة والقفز إلى السطر التالي) ؛ |
| 6.4 | خطوة العودة | F7 | -> العودة في خطوة واحدة (قم بتنفيذ الطريقة الحالية ، وقم ببث الطريقة الحالية من مكدس الاتصال ، والعودة إلى موقع المكالمة حيث تسمى الطريقة الحالية) ؛ |
| 6.5 | سيرة ذاتية | F8 | -> يستأنف التنفيذ الطبيعي (حتى يتم مواجهة نقطة التوقف التالية) ؛ |
| 7.4 | ركض إلى الخط | Ctrl+ص | -> تنفيذ الخط الحالي (سيتم تجاهل جميع نقاط التوقف في الوسط وتنفيذها على الخط الذي يوجد فيه المؤشر الحالي) ؛ |
| 6.3 | انخفاض إلى الإطار | لا أحد | -> العودة إلى بداية الطريقة المحددة ، هذه الوظيفة جيدة جدًا. انقر بزر الماوس الأيمن فوق طريقة على مكدس استدعاء الطريقة وحدد إسقاط إلى الإطار للتنفيذ من بداية الطريقة ، على سبيل المثال ، إعادة تنفيذ هذه الطريقة. يمكنك استخدام Drop لتأطير على هذه الطريقة لإعادة تنفيذها من السطر الأول من هذه الطريقة. بالطبع ، بالنسبة للطرق ذات التأثيرات الجانبية ، مثل عمليات قاعدة البيانات ، وتغيير محتوى الكائن للمعلمات التي تم تمريرها ، وما إلى ذلك ، فقد يتم إعادة تنفيذ محتوى المحتوى الذي تريده. |
| 6.1+6.2 | نسخ المكدس | لا أحد | -> انسخ معلومات مكدس الموضوع الحالية |
إذا كنت بحاجة إلى استبعاد بعض الفئات والحزم وما إلى ذلك أثناء تصحيح الأخطاء ، فيمكنك استخدام إعدادات تحرير الخطوة.
خصائص A6: معلومات بدء تشغيل عملية Java ، بما في ذلك معلمات بدء تشغيل وحدة التحكم ، ومعلمات البيئة ، وما إلى ذلك ، إذا كانت هناك أي مشكلة في معلمات بدء تشغيل المعلمة ، فيمكنك أولاً التحقق مما إذا كانت معلمات بدء التشغيل الفعلية هنا غير صحيحة. يمكنك أيضًا عرض الخيارات ذات الصلة للأجهزة الافتراضية لدعم تصحيح الأخطاء.
2. عرض البيانات
| علامة | وظيفة | مفتاح الاختصار | يصف |
|---|---|---|---|
| 7.4 | فحص | Ctrl+Shift+i | -> عرض المتغير المحدد أو قيمة التعبير أو نتيجة التنفيذ ، اضغط على Ctrl+Shift+I مرة أخرى لإضافة التعبير الحالي أو القيمة إلى نافذة التعبيرات للعرض ؛ |
| 7.4 | عرض | Ctrl+Shift+d | -> عرض المتغير المحدد أو قيمة التعبير أو نتيجة التنفيذ. اضغط على Ctrl+Shift+D مرة أخرى لإضافة التعبير أو القيمة الحالية إلى نافذة العرض لعرضها ؛ |
| 7.4 | ينفذ | Ctrl+u | -> تنفيذ تعبير التحديد ؛ |
| 7.4 | ركض إلى الخط | Ctrl+ص | -> تنفيذ الخط الحالي (سيتم تجاهل جميع نقاط التوقف في الوسط وتنفيذها على الخط الذي يوجد فيه المؤشر الحالي) ؛ |
| 7.3 | كل الحالات | Ctrl+Shift+n | -> عرض جميع كائنات الفئة المحددة ، هذه الوظيفة ممتازة ؛ |
| 7.3 | عدد العدد | لا أحد | -> عرض عدد جميع الكائنات في الفئة المحددة ؛ |
| 7.4 | يشاهد | لا أحد | -> أضف المتغير الحالي والتعبير إلى نافذة التعبيرات ؛ |
3) عرض المتغيرات (عرض متغير)
1. لعرض الاسم المتغير ، عرض جميع متغيرات المثيلات والمتغيرات المحلية التي يمكن الوصول إليها في خط الكود الحالي.
2. عرض جميع القيم المتغيرة
3. يمكن تغيير القيمة المتغيرة من خلال هذه النافذة
يعرض Virebles View معلومات متغيرة تتعلق بإطار المكدس المحدد في عرض التصحيح. عند تصحيح برامج Java ، يمكن للمتغيرات اختيار عرض معلومات أكثر تفصيلاً في جزء التفاصيل. بالإضافة إلى ذلك ، يمكن لكائنات Java أيضًا عرض قيم الخصائص التي تحتوي عليها. حدد المتغير في هذه النافذة وانقر بزر الماوس الأيمن على أداء العديد من العمليات ، والعمليات الرئيسية هي كما يلي:
جميع الحالات: افتح مربع حوار لعرض جميع مثيلات فئة Java. يتطلب استخدام هذه الوظيفة جهاز Java Virtual لدعم استرجاع المثيل.
جميع المراجع :: افتح مربع حوار لعرض جميع كائنات Java التي تشير إلى المتغير.
تغيير القيمة :: تغيير قيمة المتغير. يمكن استخدام هذه الوظيفة بالاقتران مع DROP إلى الإطار لتصحيح الأخطاء. استخدم هاتين وظيفتين بدلاً من إعادة التقديم
نسخ متغيرات: انسخ قيمة المتغير ، خاصةً عندما تكون قيمة المتغير طويلة جدًا (مثل بيانات JSON) ، تأتي هذه الوظيفة في متناول يدي.
العثور على: في بعض الأحيان عندما يكون هناك الكثير من المتغيرات في الفصل ، يمكنك البحث.
4) عرض نقاط التوقف (عرض نقطة الإيقاف)
1. أظهر جميع نقاط التوقف
2. إبطال المنفذ المحدد في النافذة الحالية 1 وانقر فوق تمكين مرة أخرى.
3.exception نقطة التوقف
ستقوم عرض نقاط التوقف بإدراج جميع نقاط التوقف التي تحددها في فاصل العمل الحالي. انقر نقرًا مزدوجًا فوق نقطة الإيقاف لدخول موقع نقطة الإيقاف في البرنامج. يمكنك أيضًا تمكين نقاط التوقف أو تعطيلها ، وحذف ، وإضافة نماذج جديدة ، وتجميعها بناءً على مجموعات العمل أو تعداد النقطة. هناك نوعان من التقنيات مفيدة للغاية عند استخدام نقاط التوقف:
ضرب العد: يحدد عدد المرات التي يتم فيها تشغيل قطاع التعليمات البرمجية عند نقطة توقف. الأكثر نموذجية هي حلقة. إذا تم تنفيذ حلقة 10 مرات وتم تعليق الخيط ، فإن قيمة عدد الضرب هي 10 ، وسيتم تعليق الحلقة الحالية عند تنفيذها في التاسع.
مشروطة: كما يوحي الاسم ، إنه حكم مشروط. على سبيل المثال ، عندما نحتاج إلى حلقة متغير I == 10 ، يعلق سلسلة الرسائل ، ثم يتم ضبط الشرط على I == 10 ، وحدد تعليق عندما "صحيح".
إذا تم اختيار كلا من عدد ضربات وشرط أعلاه ، فسيكون ذلك غير صالح إذا كانت إعدادات التعبير والقيمة غير معقولة. إذا قمت بتحديد تعليق عندما تتغير القيمة ، فقد يتم تعليق الشرطية عندما تتغير القيمة المتغيرة.
5) عرض التعبيرات (عرض التعبير)
1. التعبيرات
2. انقر هنا لإضافة تعبير جديد
للعثور على قيمة التعبير في محرر منظور التصحيح ، حدد السطر الكامل مع مجموعة نقاط التوقف ، وحدد خيار Inspect في قائمة السياق. يتم تقييم التعبير في سياق إطار المكدس الحالي ، ويتم عرض النتيجة في عرض التعبيرات في نافذة العرض. على سبيل المثال ، إذا أردت حساب قيمة المتغير A+B ، فيمكنني إضافة تعبير إلى عرض التعبير: A+B
6) عرض العرض
يمكنك استخدام طريقة العرض هذه لإدخال أو حساب بعض التعليمات البرمجية الجديدة. يتم تنفيذ هذا الرمز في سياق موقع التصحيح الحالي ، مما يعني أنه يمكنك استخدام جميع المتغيرات وحتى مساعدي المحتوى. لتنفيذ الكود الخاص بك ، ما عليك سوى وضع علامة عليه واستخدم قائمة النقر بزر الماوس الأيمن أو CTRL+U (تنفيذ) أو CTRL+Shift+I (تحقق)
7) رمز عرض النافذة المساعدة
1. عرض الكود:
عرض الكود ، يستخدم لعرض رمز معين. يشير الجزء الأخضر إلى الرمز الذي يتم تنفيذه حاليًا
| علامة | وظيفة | مفتاح الاختصار | يصف |
|---|---|---|---|
| 11.1 ~ 11.5 | نوع سريع التسلسل الهرمي | Ctrl+t | تحقق من مستوى الميراث للفئة الحالية والواجهة. عند الدخول افتراضيًا ، يتم عرض الفئة الفرعية للميراث/تنفيذ الفئة/الطريقة الحالية ، ويتم عرض الواجهة الفرعية 11.1 ؛ Ctrl+T مرة أخرى ، سيتم عرض الفئة الفائقة/الواجهة 11.2 الوراثة/تنفيذ الفئة الحالية والواجهة. أثناء تصحيح الأخطاء ، غالبًا ما يتم استخدام هذه الوظيفة لعرض فئة التنفيذ 11.4 عند استدعاء طريقة الواجهة أو الفئة المجردة ، والانتقال مباشرة إلى طريقة التنفيذ المقابلة 11.5. |
| مخطط سريع | Ctrl+o | تحقق من الخطوط العريضة للفئة الحالية ، بما في ذلك الأساليب ، والسمات ، وما إلى ذلك ؛ إنه ذو فائدة ضئيلة. | |
| إعلانات مفتوحة | F3 | عرض تعريفات المتغيرات والخصائص والأساليب |
2. استدعاء نافذة التسلسل الهرمي:
| علامة | وظيفة | مفتاح الاختصار | يصف |
|---|---|---|---|
| 12.1 ~ 12.2 | افتح التسلسل الهرمي للدعوة | Ctrl+Alt+H. | تحقق من الطريقة التي تسمى المستوى ، يمكنك معرفة أين تسمى الطريقة الحالية 12.1 ، أو تسمى الطريقة الحالية فئات أخرى من الطرق 12.2 |
3. اكتب نافذة التسلسل الهرمي:
| علامة | وظيفة | مفتاح الاختصار | يصف |
|---|---|---|---|
| 13.1 ~ 13.4 | فتح نوع التسلسل الهرمي | F4 | تحقق من مستوى الميراث ، يمكنك عرض مستوى الميراث للفئة ، بما في ذلك فئة الوالدين من فئة الطفل 13.1 ، أو مستوى الميراث الواجهة 13.2 الذي تم تنفيذه بواسطة الفصل. سيتم عرض المخطط التفصيلي للفئة 13.3 و 13.4 على اليمين وفقًا للفئة/الواجهة المحددة ؛ 13.3 يمكن اختيار ما إذا كنت تريد عرض الخصائص أو الأساليب وما إلى ذلك من واجهة الفئة/الوالدين. |
4. نافذة البحث:
| علامة | وظيفة | مفتاح الاختصار | يصف |
|---|---|---|---|
| 14.1 | إعلانات | Ctrl+G. | يتم تعريف توقيع الطريقة نفسها في مساحة العمل وفي حزمة جرة الطرف الثالث 14.1 |
| 14.2 | مراجع | Ctrl+shif+g | تتم الإشارة إلى المتغيرات والخصائص والأساليب المحددة حاليًا في مساحة العمل وفي حزمة جرة الطرف الثالث 14.2 |
| 14.3 | Ctrl+Shift+u | عرض حيث تظهر المتغيرات والخصائص والأساليب في Class14.3 الحالية | |
| 14.4 | تنفذ | عرض الفئة 14.8 التي تنفذ الواجهة الحالية | |
| 14.4 ~ 14.7 | طريقة العرض | يمكنك اختيار طرق عرض مختلفة ومشاهدة الصورة للحصول على التفاصيل |
2. تصحيح
1. تعيين نقطة التوقف
في ملف رمز المصدر ، في السطر المحدد أمام سطر الكود الذي تريد ضبط نقطة الإيقاف ، انقر نقرًا مزدوجًا على زر الماوس الأيسر لتعيين نقطة التوقف ، والنقر المزدوج مرة أخرى في نفس الموضع لإلغاء نقطة التوقف. في بعض الأحيان ، لا يزال لدينا هذه الحاجة ، أي أنني لا أريد تنفيذ LINE LINE. على سبيل المثال ، ستقوم A for loop بأكثر من 1000 مرة. أريد فقط أن أترك الخيط معلقة لتصحيح الأخطاء في المرة 500. في هذا الوقت ، يمكننا استخدام نقاط التوقف الشرطية. تعيين نقاط توقف الشرط: يمكننا تعيين ظروف الزناد لنقطة التوقف هذه. بمجرد استيفاء حالة معينة ، يمكننا بدء تصحيح الأخطاء. يمكنك النقر بزر الماوس الأيمن فوق نقطة الإيقاف وتحديد خصائص نقطة الإيقاف لإدخال صفحة إعدادات نقطة الإيقاف. عندما كنا نتحدث عن وجهة نظر نقطة الإيقاف ، تعلمنا استخدام العد الضار والشرطية. هنا يمكننا تعيين الشروط وعدد عمليات الإعدام.
1.1) نوع نقطة الإيقاف ونافذة نقطة التوقف
هناك خمسة أنواع من نقاط التوقف التي يمكن تعيينها أثناء تصحيح الأخطاء:
1. نقاط توقف الخط: نقاط التوقف الشرطية ، كما يوحي الاسم ، هي نقاط توقف مع شروط معينة. فقط عندما يتم استيفاء الشروط التي يتم تحديدها من قبل المستخدم ، ستتوقف الرمز عند تشغيله إلى نقطة الإيقاف.
2. نقاط توقف الطريقة: الشيء الخاص حول نقاط توقف الطريقة هو أنه يمكن ضربها في الكود المصدري لـ JDK. نظرًا لأن JDK يزيل معلومات تصحيح الأخطاء أثناء التجميع ، فلا يمكن ضرب نقاط التوقف العادية في الداخل ، لكن نقاط توقف الطريقة ممكنة. يمكنك عرض مكدس المكالمات للطريقة من خلال هذه الطريقة.
3. مراقبة نقاط التوقف (تغيير الوصول إلى متغير عدد الأعضاء)
4. نقاط التوقف
5. نقاط توقف تحميل الفصل
تختلف إعدادات كل نوع من نقطة التوقف قليلاً. يمكنك النقر بزر الماوس الأيمن على نقطة الإيقاف -> خصائص نقطة الإيقاف لتعيينها ، ولكن عمومًا توجد واجهة إعداد سريعة في نافذة نقطة الإيقاف. هناك المزيد من المرشح في خصائص نقطة التوقف ، والتي هي في الواقع عديمة الفائدة وليست مفيدة للغاية.
مفاتيح الاختصار المتعلقة بنقطة التوقف:
| مفتاح الاختصار | يوضح |
|---|---|
| Ctrl+Shift+b | نقطة توقف كبيرة/نقطة الإيقاف في المؤشر |
| Ctrl+alt+b | تجاهل جميع نقاط التوقف |
| Alt+Shift+Q ، b | تنشيط نافذة نقطة التوقف |
1. نقطة توقف الخط: نقاط كسر 1.1 و 1.4 على خط معين في الطريقة. يمكن لنقاط توقف الأسطر تعيين شرط تعليق الخيط/VM 1.3 وعدد الوصول 1.2.
الشرط في 1.3 هو أنه عندما يسجل الربيع تعريف الفول (registerBeanDefinition) ، إذا كان org.springframework.demo.mybean ، سيتم تعليق الموضوع ويمكنك بدء تصحيح أخطاء خطوة بخطوة.
لاستخدام HIT COUNT 1.2 ، يكون عمومًا في الحلقة. إذا كانت هناك مشكلة في معالجة الكائنات التاسعة ، فقم بتعيين HIT COUNT = N. أثناء إعادة التنقيب ، فقد يكون من المريح إيقاف تصحيح الأخطاء عندما يكون عدد الحلقات التي تحتاج إلى تصحيح.
2. ميزة نقاط توقف الطريقة هي أنه يمكنهم التوقف والتصحيح عند الدخول أو الخروج من طريقة الطريقة. فهي تشبه نقاط توقف الصف ، وفقط نقاط التوقف ونقاط الأسلوب لديها وظائف ضبط الظروف وأوقات الوصول.
ومع ذلك ، فإن نقاط توقف الطريقة لها ميزة أخرى. إذا تم تجميع الكود ، فإن نقطة توقف السطر المحددة لا تعمل ، لذلك يمكنك فقط الضغط على نقاط توقف الطريقة.
إذا كنت مهتمًا ، فيمكنك إزالة الخطاف قبل إضافة رقم سطر ... من خلال A1 وتصحيحه وإلقاء نظرة.
3. مراقبة نقاط التوقف: نقاط التوقف 3.1 و 3.3 ضرب على متغيرات الأعضاء. متغيرات أعضاء الكائن فقط لها تأثير ، لا تعمل متغيرات الأعضاء الثابتة.
يمكنك تعيين مؤشر الترابط/VM 3.2 ليتم تعليقه عند الوصول إلى المتغير أو تعيينه ، أي أن جميع طرق الوصول إلى متغيرات الأعضاء أو تعيينها مماثلة لـ 3.4.
4. نقطة توقف الاستثناء: يمكن إضافة نقاط توقف الاستثناء خلال 4.6 ، أو انقر فوق إخراج معلومات فئة الاستثناء في معلومات السجل.
استثناء نقطة توقف 4.1. عندما يحدث استثناء في النظام ، يتم تعليق مؤشر الترابط/VM في موضع الرمي للاستثناء الذي تم التقاطه أو في استثناء الموقع 4.2 و 4.4 الذي لا يصطاده البرنامج ، ويمكنه أيضًا تحديد ما إذا كانت الفئات الفرعية التي تتضمن استثناءات تم اكتشافها أيضًا 4.3 و 4.5.
بالإضافة إلى التعليق غير الطبيعي المذكور أعلاه ، يمكنك تعيين التعليق التنفيذ من Java-> Debug ، واثنان أساسًا:
1. ما إذا كان تعليق التنفيذ على استثناءات غير معلوم يحدث. أثناء تصحيح الأخطاء ، هناك دائمًا استثناء تعليق يؤثر على تصحيح الأخطاء ، ولكن لم يتم تعيين نقطة توقف استثناء ، يمكنك التحقق من هذا الخيار ؛
2. ما إذا كان يتم تعليقه أثناء أخطاء التجميع ، يحدث هذا الموقف عادة عند تصحيح الكود والتعديل ؛
شيء آخر نذكره هو أن التطبيق مع الطريقة الرئيسية قد بدأ. يمكنك التحقق من التوقف في A3 الرئيسية في تكوين تصحيح الأخطاء. عندما يدخل البرنامج ، سيتم تعليق الخيط وانتظار تصحيح الأخطاء.
5. نقطة توقف تحميل الفصل: تم ضرب نقطة الإيقاف 5.1 على اسم الفصل. لا يمكن ضبط نقاط التحميل على التحميل على الواجهة ، ولكن الفئات المجردة على ما يرام. ومع ذلك ، أثناء تصحيح الأخطاء ، لن تدخل نقاط التوقف بوضوح إلى مرحلة التحميل. من المعروف أن الإدخال خطوة بخطوة يدخل طريقة بناء الفئة الفرعية. بعد تعليق الخيط ، ستدخل فئات غير المجردة جهاز تحميل classloader (إذا لم يكن هناك تصفية من المرشح) 5.3. سواء تم ضرب نقطة توقف التحميل في الفصل الدراسي أو غير المجردة ، سيتم تعليق الخيط/VM5.2 عندما يتم تحميل الفصل لأول مرة أو يتم تحميل الفئة الفرعية الأولى لأول مرة.
2. تصحيح البرنامج
1. تصحيح برامج لغة جافا المحلية
من بين جميع تصحيح الأخطاء ، فإن تصحيح الأخطاء على برنامج Java هو الأسهل ، بما في ذلك تحديد نقاط التوقف ، وبدء تصحيح الأخطاء ، والتجول ، وإنهاء التصحيح.
1) تعيين نقاط التوقف:
2) بدء تصحيح الأخطاء: يوفر Eclipse أربع طرق لبدء تصحيح الأخطاء للبرنامج (الإطلاق) ، أي من خلال القائمة (Run> debug) ، أيقونة ("Bug Green Bed Bug") ، يمين-> Debug AS واختصار مفتاح (F11). في هذا الصدد ، يشبه الأوامر الأخرى (مثل التشغيل).
مطالبة تنبثق. تحتاج إلى التبديل إلى مساحة عمل تصحيح الأخطاء ، والتحقق من "تذكر قراري" ، وتذكر التحديد ، ولن تتم مطالب أي موجه في المرة القادمة ، ثم انقر فوق [نعم].
3) تنفيذ خطوة واحدة: استخدم بشكل أساسي العديد من المشاهدات المذكورة أعلاه لتصحيح الأخطاء ، من بينها عدة أزرار في عرض التصحيح مفاتيح اختصار:
خطوة Retuen (F7)
خطوة أكثر (F6)
خطوة إلى (F5)
التصحيح النهائي: إنهاء تصحيح التصحيح للبرنامج المحلي من خلال أمر إنهاء.
2. القضية
السيناريو 1: كتب شياو مينغ منفذ المهام ، الذي تم تنفيذه بشكل مستمر. بعد تشغيله عبر الإنترنت لفترة من الزمن ، وجد أن هناك احتمالًا لبعض الإخفاقات. بعد الركض لفترة من الزمن ، خرج منفذ المهمة بشكل غير طبيعي. نظرًا لأنه كان مؤشرًا فارغًا ، أراد Xiao Ming التصحيح محليًا ولم يكن يعرف أين كانت نقطة الإيقاف. هذه المشكلة هي حدث احتمالي وقد لا تظهر بالضرورة. لذلك بعد تصحيح شياو مينغ عدة مرات ، كان بالدوار ولم يستطع حتى رؤية الكود بوضوح. أراد Xiao Ming الحصول على نقطة توقف والتوقف ودعه يجد المشكلة كلما حدث استثناء مؤشر فارغ. سيكون ذلك رائعًا.
نقطة توقف الاستثناء
نقطة توقف الاستثناء: في عملية تحديد مشكلة ما ، غالبًا ما تواجه نقاط توقف لا يمكن ضربها إلى الموقف المناسب ، وهو ما يختلف تمامًا عن نقطة المشغل للمشكلة. لذلك في هذا الوقت ، قد تجرب أيضًا نقطة توقف استثناء. كما يوحي الاسم ، تشير نقطة توقف الاستثناء إلى نقطة توقف معلقة تلقائيًا بعد إلقاء استثناء معين.
انقر على الجزء الأحمر لإضافة نقطة استراحة غير طبيعية
أدخل نوع الاستثناء الذي تريد تحديد موقعه ، مثل NullPointerException. وبهذه الطريقة ، بعد إلقاء أي استثناء من nullpointerxception في النظام ، سيتم تعليق الخيط الحالي ، مما يتيح لك فرصة لتحديد المشكلة.
المشهد 2: كتب شياو مينغ حلقة ضخمة. عند ضبط الرمز ، وجد Xiao Ming أنه كلما وصلت الحلقة إلى 100000 مرة ، كانت هناك مشكلة ولم تفي بتوقعاته. لذا ، قام Xiao Ming بنقطة توقف في الحلقة ، ويرغب في رؤية ما يجري ، لكن Xiao Ming لم يفكر أبدًا في مدى صعوبة الوصول إلى 100000 حلقة. في هذا الوقت ، بدأ Xiao Ming بالفعل في التفكير كثيرًا ، إذا كان هناك نقطة توقف مثل هذه:
إذا كان عدد الحلقات == 100000 ، يتوقف الخيط
نقطة توقف مشروطة
كما هو موضح في الصورة على اليمين ، حلقة 1000 مرة. إذا كنت ترغب في التوقف عند الحلق إلى 500 مرة ، فيمكنك إنشاء نقطة توقف مشروطة والنقر بزر الماوس الأيمن فوق نقطة التوقف لتعليق خصائص نقطة التوقف.
حدد شرط تمكين
في الفراغ ، أضف حالتك الخاصة. إذا تم إرجاع الشرط بشكل صحيح ، فسيتم تعليق الخيط. إذا كان خطأ ، سيتم تجاهل الاستثناء.
اضغط على Count يتعلق رسميًا الخيط بعد مرور نقطة التوقف. إذا تم تعيينه على 500 ، فسيتم التعبير عن 499 مرة الأولى ، ولن يتوقف بعد نقطة التوقف. عندما تكون نقطة التوقف 500 مرة ، ستعلق نقطة التوقف الخيط الحالي.
تعبير
يمكن للتعبيرات عرض بعض خطوط الأوامر غير المتوفرة في الكود الحالي لتسهيل وضع المشكلات.
المشهد 3: واجه شياو مينغ مشكلة مؤخرًا. هناك دائمًا مشاكل عند استدعاء مكون إضافي لجهة خارجية. يشتبه Xiao Ming في أنه كان خطأً في المكون الإضافي من الطرف الثالث ، لكن Xiao Ming لم يجد الكود المصدري ولم يتمكن من تصحيحه. ماذا يجب أن يفعل شياو مينغ؟
تصحيح الاستهداف المكونات الإضافية الطرف الثالث
1. فك الرمز باستخدام أداة إزالة الإلغاء
2. قم بتصفية رمز المصدر المقلوب
3. إصلاح أخطاء تجميع رمز المصدر
4. تصحيح
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.