2011-01-28 11 views
6

में जावास्क्रिप्ट डिबगिंग मैं फोनगैप आधारित प्रोजेक्ट पर काम कर रहा हूं। मैं कुछ डीबग टूल्स का उपयोग करना चाहता हूं, एक्सकोड कंसोल आदि में कुछ चर आदि को डीबग करने में सक्षम होने के लिए, अब मुझे पता चला है कि ऐसा करने के लिए, मुझे function console.log पर कॉल करने की आवश्यकता है।फोनगैप - एक्सकोड

समस्या यह है कि, हालांकि, सिम्युलेटर में एप्लिकेशन चलाने पर कोई डीबग जानकारी एक्सकोड कंसोल में प्रदर्शित नहीं होती है ... मैं फोनगैप संस्करण 0.9.3 का उपयोग कर रहा हूं, मैं गलत क्या कर रहा हूं?

एक जवाब

+0

क्या आप समझा सकते हैं कि दस्तावेज़ में console.log के बारे में जानकारी कहां है? मुझे यह नहीं मिल रहा है – xus

+0

हैलो, मैंने फोनगैप के उच्च संस्करण में अपग्रेड करके समस्या हल की है। मैंने इसे फोनगैप Google समूह में देखा है, लेकिन हो सकता है कि पोस्ट पहले से ही हटा दी गई है।मैं आपको अपने कोड को फोनगैप के नए संस्करण में अपग्रेड करने की सलाह देता हूं, वहां अंत में स्थिर रिलीज भी है – Lukas1

उत्तर

3

यह सुविधा के लिए धन्यवाद बहुत हाल ही में (दो दिन पहले) पूरा कर लिया गया है, और 0.9.3 रिलीज में शामिल नहीं है। अधिक जानकारी के लिए आप यह ticket in the issue tracker देख सकते हैं।

यह काम करने के लिए, आपको नवीनतम कोड PhoneGap GitHub repository से खींचना होगा। एक खोल से:

$ git clone git://github.com/phonegap/phonegap-iphone.git 

... और फिर स्क्रैच से स्रोत का निर्माण करने के बारे में जानें। आपको इसे देखना चाहिए!

वैकल्पिक रूप से, आप debug.log के साथ अपने console.log बयानों की जगह है, और उस 0.9.3 में काम करेंगे।

3

लुकास, एक शानदार उपकरण है जिसका उपयोग आप अपने फोनगैप प्रोजेक्ट को डीबग करने के लिए कर सकते हैं।

iWebInspector के साथ मूल रूप से आपके फोनगैप एप्लिकेशन के लिए फ़ायरबग है। आप कोड को लाइव-चेंज भी कर सकते हैं।

3

अपने दस्तावेज़ की शुरुआत के करीब कहीं भी पेस्ट करें ताकि यह आपके किसी भी अन्य जावास्क्रिप्ट से पहले निष्पादित हो जाए।

<script type="text/javascript"> 
    window.onerror = function(message, url, lineNumber) { 
     console.log("Error: "+message+" in "+url+" at line "+lineNumber); 
    } 
</script> 

और एक्सकोड कंसोल विंडो में अपनी जावास्क्रिप्ट त्रुटियों के विवरण देखने का आनंद लें।

अद्यतन: उपरोक्त तकनीक अपरिभाषित चर जैसे त्रुटियों को लॉग करेगी। लेकिन सिमैक्स त्रुटियों जैसे कि गायब कॉमास अभी भी पूरी स्क्रिप्ट को लॉगिंग किए बिना तोड़ने का कारण बनेंगे।

इसलिए आप की शुरुआत करने के लिए निम्न जोड़ना चाहिए अपने onDeviceReady समारोह:

console.log('Javascript OK'); 

आप नहीं देखते हैं "जावास्क्रिप्ट ठीक है" जब एप्लिकेशन लॉन्च होने, तो इसका मतलब है आपका लॉग विंडो में दिखाने आपके पास कहीं सिंटैक्स त्रुटि है।

अल्पविराम के लापता के लिए शिकार बचाने के लिए, सबसे आसान काम इसी प्रकार के एक जावास्क्रिप्ट सत्यापनकर्ता में अपने कोड पेस्ट करने के लिए है:

http://www.javascriptlint.com/online_lint.php

और यह आपके लिए त्रुटि ढूँढ़ने दें।

उम्मीद है कि डीबगिंग से कुछ दर्द दूर हो जाता है।