this question और this question पर देखकर मैं देख सकता हूं कि backtrace_symbols()
काम करने के लिए, किसी को -rdynamic
ध्वज के साथ संकलित करना होगा।backtrace_symbols() दोनों के साथ -स्टिक और-गतिशील
मैं इसे एक परीक्षण कार्यक्रम में की कोशिश की है और यह काम करता है, लेकिन मैं एक प्रोग्राम है जो भी -static
साथ संकलित किया गया है और this page का कहना है कि backtrace_symbols()
जब -static
संकलक/लिंकर को पारित कर दिया है काम नहीं करता है लिख रहा हूँ।
क्या इसके लिए कोई त्वरित कार्यवाही है या मेरे पास मेरे सांख्यिकीय रूप से जुड़े कार्यक्रम में कभी भी मानव-पठनीय बैकट्रैक फ़ंक्शन नहीं होगा?
', हाँ -static' मेरे कार्यक्रम में अनिवार्य है। मैंने 'libunwind' के साथ भी कोशिश की लेकिन मेरे उदाहरण प्रोग्राम उबंटू 12.04 x86 और x86_64 दोनों से लिंक नहीं करते हैं। मैं हमेशा इस तरह के रूप जोड़ने त्रुटियों हो रही है: 'अपरिभाषित संदर्भ ' अपरिभाषित संदर्भ _Ux86_get_reg' को 'अपरिभाषित संदर्भ _Ux86_get_proc_name' को बाइनरी उबंटू libunwind और साथ दोनों _Ux86_step' को ' अपरिभाषित संदर्भ _Ux86_init_local' करने के लिए नवीनतम स्वयं संकलित libunwind से डाउनलोड [यहां] (http://download.savannah.gnu.org/releases/libunwind/)। – Avio
@ एवियो मैंने 'libdwarf' का उल्लेख किया है, न कि 'libunwind'। मुझे 'libunwind' – qrdl
से जोड़ने में कोई समस्या नहीं थी, जितनी जल्दी हो सके मैं 'libdwarf' कोशिश करूंगा। मैं सिर्फ 'libunwind' का जिक्र कर रहा था क्योंकि यह किसी भी विशेष आवश्यकता के बिना एक और दिलचस्प विकल्प हो सकता है। आपने सफलतापूर्वक 'libunwind' से लिंक किए जाने पर किस वास्तुकला/वितरण का उपयोग किया था? – Avio