2012-08-09 14 views
17

के लिए जावाक डीबगिंग सक्षम करना बस एक साधारण सवाल है। एएनटी के निर्माण के लिए, अगर मैं debuglevel पैरामीटर पूरी तरह से बाहर छोड़ देता हूं तो यह सभी डीबगिंग जानकारी के साथ संकलित होगा? या javac कार्य में debuglevel="lines,vars,source" शामिल करना बेहतर होगा? मैं डिबगिंग के अधिकतम स्तर को सक्षम करना चाहता हूं।अपाचे एएनटी

<javac srcdir="${dir.source}" 
    destdir="${dir.classes}" 
    deprecation="${javac.deprecation}" 
    debug="${veracode.release.mode}" 
    debuglevel="lines,vars,source" <-- should I leave this line out? --> 
    optimize="${javac.optimize}"> 

उत्तर

20

लघु जवाब:: यहाँ एक टुकड़ा है हाँ, आप debuglevel जब तक आप true को debug विशेषता निर्धारित के रूप में बाहर का श्रेय छोड़ सकते हैं।

javac Ant task प्रलेखन से:

डिबग

बताता है कि क्या स्रोत डिबग जानकारी के साथ संकलित किया जाना चाहिए; बंद करने के लिए डिफ़ॉल्ट। यदि सेट करने के लिए सेट किया गया है, -g: कंपेलरों के लिए कमांड लाइन पर कोई भी पारित नहीं किया जाएगा जो कि इसका समर्थन करता है (अन्य कंपाइलर्स के लिए, कोई कमांड लाइन तर्क उपयोग नहीं किया जाएगा)। यदि सत्य पर सेट किया गया है, तो डीबगलेवल विशेषता का मान कमांड लाइन तर्क निर्धारित करता है।

debugLevel

कीवर्ड सूची में जी कमांड लाइन स्विच के साथ जोड़ दिया जाए। आधुनिक, क्लासिक (ver> = 1.2) और जैक्स को छोड़कर सभी कार्यान्वयनों से इसे अनदेखा कर दिया जाएगा। कानूनी मान निम्न कीवर्ड की कोई भी या अल्पविराम से अलग सूची नहीं हैं: रेखाएं, युद्ध, और स्रोत। यदि डीबगलेवल निर्दिष्ट नहीं है, डिफ़ॉल्ट रूप से, कुछ भी शामिल नहीं होगा -g। यदि डीबग चालू नहीं है, तो इस विशेषता को अनदेखा कर दिया जाएगा।

इसलिए, true के लिए सेटिंग debug और debugLevel को छोड़ते हुए कोई विकल्प संलग्न झंडा -g गुजर के समान है। javac दस्तावेज़ीकरण के अनुसार, -g गुजरने वाले कुछ भी के साथ ध्वज स्रोत, रेखाएं और युद्ध निर्दिष्ट करने के बराबर है।