2012-02-04 22 views
6

डीबगिंग के दौरान 30 वें समय के लिए फ़ायरफ़ॉक्स (फायरबग) क्रैश होने के बाद (मैं उबंटू पर हूं), मैंने क्रोम का उपयोग करने का फैसला किया। अधिकांश भाग के लिए, यह बहुत अच्छा है। मेरे पास सिर्फ एक बड़ा मुद्दा है। फ़ायरबग में जब आपने कंसोल में कुछ लॉग किया था तो आपको ऑब्जेक्ट की स्ट्रिंग प्रस्तुति हमेशा मिलती है। नतीजतन, डेवलपर पैनल या कंसोल में कहीं भी ऑब्जेक्ट दिखाई देने पर सबसे महत्वपूर्ण जानकारी प्रदर्शित करने के लिए आपके अधिकांश प्रोटोटाइप पर स्ट्रिंग को लागू करने के लिए अच्छी समझ हुई।क्रोम devtools कंसोल: किसी ऑब्जेक्ट का ToString प्रतिनिधित्व देखें?

मेरी कोड निम्नलिखित लॉग करता है:

console.log(bill_gates); 

मैं नहीं चाहता कि मेरी वस्तु की पहली प्रतिनिधित्व कंसोल में रहना चाहता हूँ:

Object 

जब यह हो सकता है:

Person{Bill Gates, Microsoft Founder, dob: Oct 28} 

और मुझे इस कमी को भरने के लिए सबकुछ लॉग इन करने की आवश्यकता नहीं है:

console.log(bill_gates, bill_gates.toString()); 

डबल-लॉगिंग के अलावा जब आप किसी ऑब्जेक्ट में ड्रिल करते हैं और यह पता लगाते हैं कि आपकी ऑब्जेक्ट अन्य ऑब्जेक्ट्स से बना है जो सभी "ऑब्जेक्ट" लेबल हैं।

कल्पना कीजिए कि एक पार्टी में जा रहा है जहां हर किसी का नाम बैज "व्यक्ति" कहता है। मैं जो चाहता हूं वह उस व्यक्ति की पहचान के बारे में थोड़ी अधिक जानकारी है, शायद "नेड कैंपबेल, रियल्टीर" या "मुकदमा ब्रैडशॉ, बीमा बिक्री"। फायरबग में, आपकी ऑब्जेक्ट कस्टम नाम बैज पहनती हैं (आपके टूस्ट्रिंग कार्यान्वयन के आधार पर)। क्रोम में, आपकी सभी ऑब्जेक्ट्स नाम बैज पहनती हैं जो "ऑब्जेक्ट" कहती हैं। आप जिस ऑब्जेक्ट से निपट रहे हैं, उसे समझने के लिए आपको ऑब्जेक्ट से पूछताछ करने के लिए समय (संपत्तियों और विधियों में ड्रिलिंग) करना है। कितना बेकार है।

यह मेरे लिए अन्यथा शानदार क्रोम देवतोल्स के डिजाइन में एक प्रमुख निरीक्षण है। क्या डेवटोल्स ऑब्जेक्ट्स (जहां भी वे दिखाई देते हैं) को फायरबग के रूप में दिखाने के लिए कुछ रास्ता (एक विस्तार संभवतः) है?

उत्तर

1

अपने प्रश्न के दूसरे भाग के बारे में: (। वेबकिट बगजिला में) हाँ, वहाँ है एक bug वेब निरीक्षक खिलाफ दायर उस पर अपने आप को प्रतिलिपि के लिए स्वतंत्र महसूस (एक बार तुम वहाँ पंजीकृत किया है।)

+0

मैं यह नहीं कह रहा हूं कि कंसोल गलत ऑब्जेक्ट प्रदर्शित कर रहा है (जैसा कि यह बग वर्णन करता है), बस यह ऑब्जेक्ट को "ऑब्जेक्ट" नामक अज्ञात चीज़ के रूप में दिखाता है और यह कि यह शायद ही कभी सहायक है। – Mario

+0

क्षमा करें, मैंने आपकी मूल शिकायत को गलत समझा। आईआईआरसी, फायरबग-जैसी ऑब्जेक्ट फॉर्मेटिंग कार्यान्वयन भी योजनाबद्ध है। कोई ईटीए नहीं, हालांकि ... –

+0

धन्यवाद, अलेक्जेंडर। यह जानना उपयोगी है कि यह आ रहा है। – Mario

0

ChromeDevTools for Java, से क्रोम के लिए एक्लिप्स डीबगर में, आपके पास toString() प्रतिनिधित्व (सभी चर/अभिव्यक्ति दृश्यों में) है।

हालांकि, आपके पास केवल वहां से कंसोल या डोम पेड़ तक पहुंच नहीं है, केवल जावास्क्रिप्ट कोड के लिए।

+0

आप बात कर सकते हैं मुझे एक स्क्रीनशॉट में यह दिखाता है? – Mario

+0

इसके अलावा, यह जावा का जिक्र क्यों कर रहा है जब मैं चाहता हूं कि जावास्क्रिप्ट से संबंधित है? – Mario

+0

मारियो, यहां एक छद्म स्क्रीनशॉट है: http://code.google.com/p/chromedevtools/wiki/EclipseDebuggerFeatures#ToString "जावा" नाम का हिस्सा है। डीबगर जावास्क्रिप्ट के लिए है (लेकिन जावा में लिखा गया है)। – beefeather

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