मैं लिनक्स amd64 पर gdb के भीतर से C/C++ ढेर के राज्य की जांच के लिए कोशिश कर रहा हूँ, वहाँ यह करने के लिए एक अच्छा तरीका है?जांच C/C++ ढेर स्मृति gdb में आंकड़े
एक दृष्टिकोण मैं कोशिश की है करने के लिए है "कहते हैं mallinfo()" लेकिन दुर्भाग्य से मैं तो मान मैं चाहता हूँ अलग नहीं कर सकता क्योंकि gdb ठीक से वापसी मान के साथ सौदा नहीं करता है।
मैं उस प्रक्रिया के लिए बाइनरी में संकलित करने के लिए आसानी से एक फ़ंक्शन लिखने में सक्षम नहीं हूं, इसलिए मैं अपने स्वयं के कोड में mallinfo() को कॉल करके मूल्यों को निकालने के लिए अपने स्वयं के फ़ंक्शन को कार्यान्वित कर सकता हूं। मार्ग। क्या शायद एक चालाक चाल है जो मुझे इस पर उड़ान भरने की अनुमति देगी?
एक और विकल्प ढेर का पता लगाने और मॉलोक हेडर/मुफ्त सूची को पार करने के लिए हो सकता है; मैं किसी भी पॉइंटर्स की सराहना करता हूं जहां मैं इनके स्थान और लेआउट को ढूंढने में शुरू कर सकता हूं।
मैं गूगल की कोशिश कर दिया गया है और के बारे में 2 घंटे के लिए समस्या को हल पढ़ सकते हैं और मैं कुछ दिलचस्प सामान सीखा है, लेकिन अभी भी नहीं मिला कि मैं क्या जरूरत है।
क्या आप स्थिति के बारे में जानने की आवश्यकता है? आपको किस तरह के आंकड़े जानने की ज़रूरत है? –
ढेर का आकार, उपयोग की गई राशि और राशि मुक्त एक अच्छी शुरुआत –
gdb ठीक से नहीं कर रहा है? – leedm777