2010-05-30 7 views
5

मैं जीएनयू/लिनक्स पर एक साझा लाइब्रेरी प्रोफाइल करने की कोशिश कर रहा हूं जो रीयल-टाइम ऑडियो प्रोसेसिंग करता है, इसलिए प्रदर्शन महत्वपूर्ण है। मैं एक और प्रोग्राम चलाता हूं जो ऑडियो इनपुट और मेरे सिस्टम के आउटपुट, और कॉलग्रिंड के साथ प्रोफाइल को हुक करता है।मैं स्रोत लाइन जानकारी डंप करने के लिए कॉलग्रंड कैसे प्राप्त करूं?

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

प्रोग्राम जो मैं प्रोफाइलिंग कर रहा हूं उसे डीबग प्रतीकों से संकलित नहीं किया गया है, लेकिन लाइब्रेरी है। और मुझे यह पता है, क्योंकि दिलचस्प बात है, कैशग्रींड के लिए स्रोत कोड एनोटेशन ठीक काम करते हैं।

जब मैं कॉलग्रिंड चलाता हूं, तो यह कहता है कि डिफ़ॉल्ट स्रोत पंक्ति जानकारी को डंप करना डिफ़ॉल्ट है, लेकिन यह ऐसा नहीं कर रहा है। क्या कोई रास्ता है जिससे मैं इसे मजबूर कर सकता हूं, या पता लगा सकता हूं कि इसे क्या रोक रहा है?

+7

एक बेवकूफ सवाल हो सकता है, लेकिन क्या आप अपने ऐप को डिबग प्रतीकों के साथ पुन: संकलित कर सकते हैं? –

उत्तर

0

आप --dump-instr=yes --trace-jump=yes उपयोग कर रहे हैं शिक्षा के स्तर के बारे में जानकारी प्राप्त करने के लिए?

+0

मैं उन विकल्पों का उपयोग नहीं कर रहा था, लेकिन इसे फिर से चला रहा था उन विकल्पों, मैं अभी भी स्रोत लाइनों को दिखाने के लिए नहीं मिल सकता है। –

+2

वे विकल्प असेंबली निर्देश स्तर दिखाते हैं, सी/सी ++ स्रोत स्तर पर नहीं। – jluzwick

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