كتابة التعليمات البرمجية هي نصف المعركة. لا يزال يتعين جعله يعمل بشكل صحيح. تساعدنا IDEs وأدوات تصحيح الأخطاء كثيرًا في ذلك.
باستخدام IntelliJ IDEA كمثال، أقترح التعرف على كيفية معرفة ما يحدث للكود الخاص بنا عند تشغيله. يعد تصحيح الأخطاء موضوعًا واسعًا، لذا فإن هذه المراجعة لا تقدم الغوص العميق، مثل الغواص. لكنني آمل الغطس بالتأكيد)
بعد ذلك، نحتاج إلى تشغيل المشروع الذي اخترناه على الخادم. تم وصف هذه العملية في وثائق صغيرة يمكن العثور عليها في المشروع نفسه:
بعد ذلك، في سجل الخادم يمكننا أن نرى كيف تم "نشر" المشروع الجديد:
بعد ذلك ننتقل إلى الصفحة
إذا كان كل شيء على ما يرام، فسنرى رسالة حول هذا أدناه:
اضغط على Enter للانتقال إلى المصدر الذي تم العثور عليه:
لذلك، نرى أنه عند التسجيل، يتم استدعاء memberController.register ، على ما يبدو، يجب أن يكون هذا نوعًا من فئة Java. انقر
في الواقع، هناك مثل هذه الفئة. دعنا نذهب إلى ذلك. على ما يبدو، يجب أن تكون هناك طريقة للتسجيل. انقر
وبالفعل وجدنا ذلك. من الواضح أن التسجيل يتم هنا، في memberRegistration.register . اضغط على Ctrl وانقر على الطريقة "للوقوع فيها":
لنقم الآن بتعيين "نقطة الاستراحة" أو نقطة الاستراحة. هذه علامة توضح المكان الذي يجب أن يتوقف فيه تنفيذ التعليمات البرمجية. في هذه اللحظة سيكون لدينا الفرصة لتعلم الكثير من الأشياء المثيرة للاهتمام. لوضعها، تحتاج إلى النقر فوق المكان الموجود على يمين رقم السطر.
في الصفحة http://localhost:8080/wildfly-hibernate4، املأ الحقول وانقر على زر التسجيل. سيومض رمز الفكرة الموجود على اللوحة:
بالانتقال إلى Idea، يمكنك أن ترى أن هناك الكثير من المعلومات المثيرة للاهتمام في لوحة التصحيح:
هنا يمكنك رؤية قيمة حقول الكائن. على سبيل المثال، مما يتكون العضو المسجل من:
عظيم. ماذا يمكن ان نفعل ايضا؟ يمكننا فتح قائمة السياق وتحديد تقييم التعبير هناك (أو من خلال القائمة تشغيل -> تقييم التعبير). والأفضل من ذلك، على لوحة تحكم مصحح الأخطاء:
هذه قدرة رائعة جدًا عند نقطة التوقف، حيث تتمتع بإمكانية الوصول إلى كل ما يمكن لنقطة التعليمات البرمجية هذه الوصول إليه، لتنفيذ أي تعليمات برمجية يمكن تنفيذها في تلك المرحلة. على سبيل المثال:
توجد أيضًا أزرار تحكم في لوحة تحكم مصحح الأخطاء تكون مسؤولة عن المكان الذي تريد نقل التحكم في تدفق البرنامج إليه. أليس هذا سحرًا؟) بالضغط على الزر F8 (الخروج)، نسير عبر الكود دون إدخال الطرق. بالضغط على F9، نتوقف عن السير عبر سطور التعليمات البرمجية مع مصحح الأخطاء، ونمنح مصحح الأخطاء التحكم في تنفيذ البرنامج. إذا ضغطنا على F7 (الدخول)، فسوف نمر عبر الرمز، وندخل كل طريقة نلتقي بها على طول الطريق. بالمناسبة، انتبه بشكل خاص إلى كتلة المعلومات هذه:
يوضح هذا الخيط الذي نحن فيه والطرق الموجودة في مكدس الخيط الحالي. ولكن هذا ليس كل شيء. للراحة، يمكنك فتح علامة التبويب الإطارات. للقيام بذلك يجب تمكينه:
الآن في علامة تبويب الإطارات نرى معلومات حول الانتقال من طريقة إلى أخرى، لأن بدأت في السير عبر الكود باستخدام Step Into.
كما نرى، لا يمكن دائمًا نقلنا إلى المكان الذي يتم فيه تنفيذ البرنامج حاليًا. نحن الآن في "getDelegate:469, AbstractEntityManager(org.jboss.as.jpa.container)". لكن في الحقيقة نحن في التنفيذ. ويدل على ذلك الفئة المحددة بهذا:
دعونا ننظر إلى هذا. كما نعلم، فإنه يشير إلى الكائن الحالي. نحن في TransactionScopedEntityManager. لماذا لا تستطيع Idea أن تعرض لنا الرمز؟ الحقيقة هي أن IntelliJ Idea لا تعرف حاليًا أي شيء عن TransactionScopedEntityManager، لأنه إنه غير متصل بمشروعنا (ليس موجودًا في تبعيات المشروع). عندما يكون خادم التطبيقات قيد التشغيل، هناك العديد والعديد من المكتبات المختلفة التي تعمل بداخله. لكننا لا نعرف إلا القليل عنهم، لأننا... بشكل عام، لا نحتاج إلى الخوض في التفاصيل الداخلية، بل نحتاج فقط إلى أن تعمل. لكن في بعض الأحيان يتطلب العمل أو الاهتمام الرياضي ذلك. بعد ذلك، يتعين عليك إبلاغ Idea بهذه المكتبة حتى تعرف مكان الحصول على رمز الفصل الدراسي.
الآن، دعونا ننتظر النتيجة. لن يبقيك تنتظر)
الآن، نحن بحاجة إلى العثور على الكود المصدري له في مكان ما. وهناك خياران:
الآن دعنا ننتقل إلى وصف التبعية. في هذه الصفحة يمكنك تنزيل الكود المصدري. رائع، لقد قمنا الآن بتنزيل الكود. كل ما تبقى هو توصيل المكتبة. إنه يتصل بكل بساطة. نحن بحاجة لفتح إعدادات المشروع:
هناك نختار "المكتبات" ونضيف أكواد المصدر المستلمة إلى قسم "المصادر"، وفي قسم "الفئات" نشير إلى ملف جرة المكتبة نفسه من دليل WildFly، والذي وجدناه باستخدام Far Manager. بعد ذلك، عندما نتنقل خلال F7، سنرى محتويات فئة AbstractEntityManager وTransactionScopedEntityManager، وستصبح متاحة أيضًا من خلال البحث حسب الفئة باستخدام Ctrl+N.
الآن سيتم تفعيل نقطة الإيقاف فقط عندما يكون الاسم Maximilian. بالنقر فوق الزر "المزيد"، ستتوفر لك مجموعة موسعة من إعدادات نقاط التوقف.
وقم بإنشاء قاعدة جديدة لنوع الاستثناء المحدد:
على سبيل المثال، بالنسبة لـ NPE:
# فياتشيسلاف
مقدمة
جزء من كتابة التعليمات البرمجية هو تصحيح الأخطاء. وإذا كانت مهامك تتضمن دعم التعليمات البرمجية، فسيكون هناك المزيد من التصحيح. حسنًا، بالإضافة إلى ذلك، بمساعدة تصحيح الأخطاء، يمكنك فحص عمل المكتبات والأطر المستخدمة بعمق كما يمكنك الانغماس في غابة التعليمات البرمجية الخاصة بشخص آخر. لغوصنا سنحتاج إلى:- بيئة التطوير: الإصدار المجاني لمجتمع IntelliJ Idea
- تم تثبيت مخضرم
- خادم تطبيق WildFly 12.0.0.Final
- كود المصدر للأمثلة الرسمية: كود مصدر البداية السريعة
bin\standalone.bat
\hibernate4\README.adoc
كما هو موضح في هذه الوثائق، نحتاج إلى تشغيل الأمر في دليل hibernate4: mvn clean package wildfly:deploy
نحن في انتظار رسالة تفيد بأن البناء قد اكتمل بنجاح:
http://localhost:8080/wildfly-hibernate4
وعلينا أن نعرض صفحة بها نموذج “ تسجيل الأعضاء ”. لقد اكتمل تحضيرنا للتجارب ويمكننا البدء)) سيكون هناك الكثير من الصور للتوضيح، لذا استعد)
التصحيح عن بعد
لذلك، نحن بحاجة إلى تكوين وضع التصحيح بحيث يتحكم IDE الخاص بنا في تنفيذ التعليمات البرمجية على خادم التطبيق. يأتي IntelliJ Idea في نسختين: مجاني (المجتمع) ومدفوع (Ultimate). يمكن تجربة الأخير رسميًا في شكل EAP. في الإصدار النهائي، كل شيء بسيط - يمكن تشغيل خادم التطبيق مباشرة من IDE في وضع التصحيح. ولكن في إصدار المجتمع، يتعين عليك القيام ببعض الأشياء يدويًا. لذلك، دعونا ننظر في حالة أكثر تعقيدا، أي. الإعداد في إصدار المجتمع. إصدار المجتمع لديه بعض القيود. وعلى وجه الخصوص، لا يمكنك تشغيل خادم التطبيقات منه. ولكن يمكنك إعداد تصحيح الأخطاء عن بعد (التصحيح عن بعد)، عندما يكون هناك خادم قيد التشغيل في مكان ما بشكل منفصل مع التطبيق الذي نحتاجه. دعنا نستخدم وصف الإعداد من هنا: تصحيح الأخطاء عن بعد Wildfly في إصدار مجتمع IntelliJ Idea (إعداد تكوين التشغيل عن بعد للمنفذ 8787). بعد التكوين، نطلق التكوين الجديد في وضع التصحيح:عملية التصحيح
دعونا نصحح أخطاء حفظ السجل. للقيام بذلك، يجب علينا أولا أن نقرر المكان الذي سنستكشفه. إذا حكمنا من خلال النافذة، نحتاج إلى زر "تسجيل". دعونا نجدها في الكود. لذلك، نحن بحاجة إلى عنصر، يجب أن يكون النص: "تسجيل". أو يجب أن يكون لها علاقة بالأمر. انقرCtrl+Shift+F
وابحث عن التسجيل في علامات الاقتباس. نرى أن هناك واحدًا على ملف Index.xhtml.
Ctrl+N
وابحث عن:
Ctrl+F12
وابحث عن طريقة التسجيل
ربط مكتبات الطرف الثالث لتصحيح الأخطاء
أولاً، نحن أنفسنا بحاجة إلى فهم نوع المكتبة التي يجب توصيلها. الطريقة الأولى هي الأصعب - البحث على الإنترنت. تعتمد سرعة ونتائج العثور على نتيجة بشكل كبير على مدى جودة إدارة المشروع. على سبيل المثال، لدى WildFly مستودع مفتوح. لذلك عندما نبحث في Google عن "TransactionScopedEntityManager" سنذهب إلى https://github.com/wildfly/wildfly/tree/master/jpa/subsystem ونجد أننا بحاجة إلى Wildfly-jpa. الطريقة الثانية صحيحة حيث الخادم، انظر هناك. وسائل مختلفة يمكن أن تساعد في هذا. على سبيل المثال، في نظام التشغيل Windows يمكن أن يكون Far Manager . فيما يلي مثال لخوارزمية البحث. بعد تثبيته وتشغيله، استخدم علامة التبويب للتبديل إلى إحدى علامات التبويب، باستخدامAlt+F1
علامة التبويب اليسرى أو Alt+F2
اليمنى، وحدد القسم الذي نحتاجه على القرص الصلب. من الممكن أن يكون دليل Far Manager نفسه مفتوحًا في Far Manager بعد التثبيت. للانتقال إلى جذر القرص، اضغط على Ctrl + \
. باستخدام، Alt+F
افتح نافذة البحث، وابدأ في كتابة اسم الدليل واضغط على Enter بعد العثور على الدليل. يعد هذا البحث ذكيًا ويسلط الضوء على تلك الأدلة التي تطابق نص البحث. إذا قمت بإدخال أحرف لا توجد مجلدات لها، فلا يمكن إدخال هذه الأحرف. بهذه الطريقة نذهب إلى دليل خادم التطبيق. لنفترض أننا لا نعرف مكان وجود الوحدات على الخادم. ربما تكون هذه هي المرة الأولى في حياتك التي تسمع فيها عن نوع ما من WildFly. لذلك، انقر هنا مباشرة Alt+F7
للبحث عن الملفات. لذلك، يملي المنطق: نحن بحاجة إلى ملف مع المكتبة. أي أننا بحاجة إلى جرة. يجب أن يكون هناك فئة TransactionScopedEntityManager بالداخل. لأن class = file، ثم ابحث عن "يحتوي على". أي شيء من هذا القبيل:
- نسخة مفيدة للغاية eye.com
- مستودع مافن المركزي
GO TO FULL VERSION