2010-06-30 9 views
19

है, मैं जानना चाहता हूं कि एक संकलित जावा क्लास में डीबग प्रतीक हैं या नहीं। समस्या यह है कि मैं डीबग = "ऑन" के साथ चींटी से एक अनुप्रयोग संकलित करता हूं, लेकिन एक विशिष्ट जेवीएम एक अपवाद फेंकता है: यह कहता है कि डीबग प्रतीक गायब हैं।जांचें कि क्या जावा बाइटकोड में डीबग प्रतीकों

धन्यवाद।

उत्तर

19

यदि आप कक्षा फ़ाइल पर javap -v चलाते हैं, तो आप उपलब्ध डीबग जानकारी देखेंगे। विभिन्न -g विकल्प सेटिंग्स के साथ एक साधारण टेस्ट क्लास को संकलित करने और javap के साथ परिणामों को देखने के लायक है।

+0

मैं मानता हूं कि यह लायक है, लेकिन मुझे यकीन नहीं था कि मुझे किस तरह की जानकारी देखना चाहिए। –

+3

मैं जो सुझाव दे रहा हूं वह यह है कि आप इसे अभी आज़माएं। यह आपको बताएगा कि आप क्या देखते हैं। आईएमओ, जो मुझे * देखना चाहिए * का वर्णन करने की कोशिश कर रहा है। –

11

डीबग जानकारी के साथ एक क्लास फ़ाइल में सबसे महत्वपूर्ण बात यह है कि लाइननंबरटेबल जो स्रोत रेखा संख्याओं और स्थानीय वैरिएबलटेबल के लिए बाइटकोड निर्देशों को मानचित्र करता है जो डीबगर को बताता है जहां आपके स्थानीय चर, निष्पादन के दौरान वीएम के अंदर एक विधि के तर्क के साथ तर्क ।

+4

'javap -l पथ/से/कक्षा', जहां' -l' * पंक्तियों और स्थानीय चर सारणी मुद्रित करता है * – stivlo

संबंधित मुद्दे