سؤال

أنا الآن باستخدام Apache Tomcat 5.5.16 لخدمة API للبحث المستندة إلى Lucene.

في الآونة الأخيرة، كان لدي بعضصاصفات nullpointExtions داخل فئة Servlet الخاصة بي. يسمى الفصل com.my_company.search.servlet.SearchServlet.

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

يشير StackTrace إلى أن الخطأ يحدث هنا:

com.my_company.search.servlet.SearchServlet.doGet(Unknown Source)

الملفات المصدر و .كلاس لهذه الفئة هو كل شيء في:

$TOMCAT_HOME/webapps/my_servlet/WEB-INF/classes/com/my_company/search/servlet/

سؤالي هو، كيف يمكنني الحصول على Tomcat لتزويدني بمواقع خطأ وصفية أكثر؟

هل كانت مفيدة؟

المحلول

لا يمكن أن توفر لك Tomcat معلومات أكثر تفصيلا ما لم تجميع الفصول المعنية مع معلومات تصحيح الأخطاء. بدون هذه المعلومات تصحيح الأخطاء، لا يمكن ل JVM تحديد خط التعليمات البرمجية حدث الخطأ.

يحرر: يمكنك أن تسأل المحول البرمجي تضمين هذه المعلومات عن طريق تحديد -g اختيار عند الركض javac في سطر الأوامر. يمكنك أيضا تحديد هذا الخيار باستخدام debug معلمة مهمة javac النمل.

نصائح أخرى

يجب عليك إضافة معلومات تصحيح الأخطاء إلى فصولك. تجميعها مع الخيار -g:

javac -g YourServlet.java

يمكن أن يحدث موقع مصدر غير معروف عندما قام برنامج التحويل البرمجي JIT بتحسين صفك. عند هذه النقطة، تضيع معلومات المصدر. للحصول على الموقع الأصلي، أعد تشغيل الخادم وإعادة محاولة الاختبار. معظم الوقت سوف تحصل على الموقع في المصدر الخاص بك

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top