मैंने रास्पबियन में gdb के साथ एक कार्यक्रम को डिबग करने की कोशिश की, लेकिन मुझे जो कुछ भी मिला वह है:
Program received signal SIGILL, Illegal instruction.
0xb6fe8acc in ?? () from /lib/ld-linux-armhf.so.3
यह ( ) SIGILL
को हैंडल सेट करने में मदद नहीं करता है :nostop
handle SIGILL nostop
Program received signal SIGILL, Illegal instruction.
Program terminated with signal SIGILL, Illegal instruction.
The program no longer exists.
मुझे मिलने वाला सभी बैकट्रेस है:
#0 0xb6fe8acc in ?? () from /lib/ld-linux-armhf.so.3
#1 0x00000000 in ?? ()
अगर मैं gdb के बाहर प्रोग्राम शुरू करता हूं, तो मुझे एक सामान्य C ++ अपवाद मिलता है (जिसे मैं डीबग करना चाहूंगा)।
सभी सॉफ़्टवेयर को रास्पियन रिपॉजिटरी से नवीनतम संस्करण में अपडेट किया गया था। इसके अलावा मैंने रास्पबेरी पाई फाउंडेशन कर्नेल "3.18.9+" और रास्पबैन कर्नेल "3.18.0-ट्रंक-आरपीआई" की कोशिश की (मुझे कुछ कस्टम कर्नेल मॉड्यूल की आवश्यकता है)। मैं किसी भी समस्या के बिना अपने मुख्य मशीन पर एक ही कार्यक्रम डिबग कर सकता हूं।
अद्यतन: डीबगिंग कर्नेल के साथ अपेक्षा के अनुसार काम करता है "3.12-1-rpi"।
इस त्रुटि के कारण क्या है?
pass
डिफॉल्ट सेट है, इसलिए इससे कोई फर्क नहीं पड़ना चाहिए, और इससे कोई फर्क नहीं पड़ा । उसी परिणाम के साथhandle SIGILL nostop
bt
) नहीं है? मुझे लगता है कि आपको यहां अधिक संदर्भ प्रदान करने के बारे में सोचने की आवश्यकता है यदि आप किसी को गंभीरता से यह समझाने की उम्मीद करते हैं कि "यह त्रुटि क्या है?" केवल लिंकर / लोडर ( ld-linux-armhf
) में एक अवैध निर्देश के आधार पर ।
handle SIGILL pass nostop
?