मैं मैक के 'नमूना' टूल के आउटपुट की व्याख्या कैसे करूं


5

मेरे पास एक प्रक्रिया है जो ओएस एक्स पर चल रही है जिसमें कुछ समस्याएं हैं और मैक पर 'नमूना' टूल समस्या को डीबग करने का सबसे अच्छा तरीका लगता है। दुर्भाग्य से, इसके लिए एकमात्र दस्तावेज जो मुझे मिल सकता है वह है मैन पेज जो परिणामों की व्याख्या करने के तरीके के बारे में कुछ नहीं कहता है।

क्या कोई अच्छी जगहें हैं जो आउटपुट को दस्तावेज करती हैं और इसकी व्याख्या कैसे करें? यदि नहीं, तो क्या कोई मुझे बहुत बुनियादी ट्यूटोरियल दे सकता है?


1
यदि आप आउटपुट को नहीं समझते हैं, तो आप कैसे जानते हैं कि यह सही उपकरण है? यदि यह एक प्रदर्शन समस्या है, तो नमूना मदद कर सकता है, लेकिन मैं इसके बजाय अंदर से उपकरण का उपयोग करने की सिफारिश करूंगा। नमूना मैनपेज इसे / डेवलपर / ... में खोजने का सुझाव देता है जो अप्रचलित है। Xcode चलाएं, और मेनू में इंस्ट्रूमेंट्स खोजें: Xcode -> ओपन डेवलपर टूल -> इंस्ट्रूमेंट्स।
टिम बी

जवाबों:


4

मैंने सिर्फ नमूने पर मैन पेज की जाँच की और यह मुझे एक आधे-सभ्य कॉल-स्टैक नमूने की तरह दिखता है। यह दावा करता है कि इसका आउटपुट कॉल-ट्री है, इसलिए इसे समझने में बहुत मुश्किल नहीं होनी चाहिए।

मैं कहता हूं कि आधा-सभ्य है क्योंकि कॉल-स्टैक नमूने एकत्र करना एक अच्छी बात है। आलोचनाएँ हैं:

  1. यह नहीं कहती है कि जब यह सिस्टम कॉल में नमूने एकत्र करता है, तो I / O की प्रतीक्षा कर रहा है। ऐसा करना महत्वपूर्ण है, जब तक कि आप अनावश्यक I / O के लिए अंधे नहीं होना चाहते।

  2. यह कल्पना के लिए पड़ता है कि क्या मायने रखती है समय की सटीकता और आप किसी भी कार्य को याद नहीं करना चाहते हैं, इसलिए नमूने वास्तव में अक्सर होते हैं । यह एक कल्पना है क्योंकि लक्ष्य बड़ा सामान ढूंढना है, न कि थोड़ा सामान मापना । कोई भी फ़ंक्शन जो निश्चित रूप से प्रकट नहीं होता है, उसकी देखभाल के लिए पर्याप्त लागत नहीं है।
    इस कथा का परिणाम यह है कि आपको देखने के लिए बहुत सारे नमूने हैं, इसलिए उन्हें संक्षेप में प्रस्तुत करने का तरीका खोजने की कोशिश करनी होगी, इसलिए यह एक कॉल-ट्री चुनता है। तथ्य यह है, अगर आपको वास्तव में नमूनों की एक छोटी संख्या (जैसे 10 या 20) की जांच करने की अनुमति है, तो आप धीमेपन के लिए बिल्कुल कारण (ओं) को देखेंगे। संक्षेप में समस्या है। यह सूचना को छिपाता है और छिपाता है।

तो, लंबे समय से कम है, यह कॉल-स्टैक नमूने एकत्र करने के लिए एक अच्छा उपकरण प्रतीत होता है। यदि आप यह पता लगा सकते हैं कि वास्तव में उनका चयन कैसे देखा जाए, तो यह आपको बताएगा कि समस्या क्या है।


1
क्या हाल के वर्षों में इन नमूनों को देखने का कोई बेहतर तरीका है? मैं एक विशेष रूप से हैंग इश्यू के साथ एक समय का शैतान हूं और कई नमूनों की समीक्षा करने की आवश्यकता है, लेकिन, जैसा कि @ माइक डनलैवी बताते हैं, कोर मुद्दे पर जल्दी से आना अभी भी बहुत कठिन है। ऐसा लगता है कि इंस्ट्रूमेंट्स टूल के बारे में खुदाई करने में थोड़ा समय लगता है और इसलिए शेल से कुछ अधिक सार्थक सारांश तंत्र सबसे उपयोगी होगा।
यूलुनेट

@ylluminate: क्षमा करें, मैंने अब तक आपकी टिप्पणी नहीं देखी। बात यह है कि आपके प्रदर्शन की समस्या जितनी खराब है, उसे ढूंढना उतना ही आसान होना चाहिए। हार्ड हैंग के लिए, आपको बस डीबगर के नीचे Ctrl-C या इसे पॉज़ करना चाहिए, जबकि यह लटका हुआ है, और यह समस्या जो भी हो, में बंद हो जाएगी। यदि आपको उत्तर पर भरोसा नहीं है, तो इसे कई बार आज़माएं। मैं इसे कैसे करता हूं। शुभकामनाएँ।
माइक डनलैवी

आपके इनपुट के लिए धन्यवाद, दुर्भाग्य से यह गैर-देव ऐप्स पर हो रहा है जो मैं चला रहा हूं और इसलिए वे आमतौर पर डीबगर के भीतर निष्पादित नहीं होते हैं। मैं उन ऐप्स के लिए समस्याओं का शिकार कर रहा हूं जहां मैं ऐप हैंग के दौरान शेल में नमूना डेटा कैप्चर कर रहा हूं।
यूलुनेट

@ylluminate: डिबगर का अभाव चीजों को और कठिन बना देता है। मैं इस तरह से सामना किया है। किसी भी तरह से आप हैंग के दौरान एक या बहुत कम स्टैक सैंपल ले सकते हैं? प्रोफाइलर ज्यादातर इस धारणा के तहत काम करते हैं कि आपको बहुत सारे नमूनों की जरूरत है, संक्षेप में। हो सकता है कि प्रोफाइलर पर डॉक आपको बताएगा कि वास्तविक स्टैक के नमूने खुद कैसे देखें, संक्षेप में नहीं? फिर आप जांच करने के लिए यादृच्छिक पर कुछ चुन सकते हैं। यही मैं तलाश करता हूं।
माइक डनलैवी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.