क्या आप कृपया मुझे बता सकते हैं कि सी ++ में एसआईजीएबीआरटी गलती का कारण क्या हो सकता है?एसआईजीएबीआरटी गलती का क्या कारण बनता है?
उत्तर
आमतौर पर तब होता है जब पुस्तकालयों में आंतरिक त्रुटि होती है, इसलिए वे निरंतर() कहते हैं, क्योंकि वे जारी नहीं रख सकते हैं। यह तब हो सकता है जब आप इसकी डेटा संरचनाओं में से एक को ओवरराइट करते हैं (वह उदाहरण जो उदाहरण के लिए libc से फ़ंक्शन से संबंधित है)। तो यह उदाहरण हो सकता है libc कॉलिंग क्योंकि आपने कुछ ओवरराइट किया था। और एप्लिकेशन को तब समाप्त करना होगा क्योंकि इसे जारी रखना या इसे संभालना असंभव है, जिसे असफल दावा कहा जाता है।
प्रति Wikipedia,
SIGABRT
ही प्रक्रिया के द्वारा भेजे गए है, जब यहabort
libc समारोह,stdlib.h
में परिभाषित कॉल कर रहा है।SIGABRT
संकेत पकड़ा जा सकता है, लेकिन इसे अवरुद्ध नहीं किया जा सकता है; अगर सिग्नल हैंडलर लौटाता है तो सभी खुली धाराओं को बंद कर दिया जाता है और फिसल जाता है और कार्यक्रम समाप्त हो जाता है (उपयुक्त होने पर कोर डंपिंग)। इसका मतलब है किabort
कॉल कभी वापस नहीं आती है। इस विशेषता के कारण, अक्सर इसका उपयोग समर्थन पुस्तकालयों में घातक स्थितियों को इंगित करने के लिए किया जाता है, ऐसी परिस्थितियां जहां वर्तमान ऑपरेशन पूरा नहीं किया जा सकता है लेकिन मुख्य कार्यक्रम बाहर निकलने से पहले सफाई कर सकता है। इसका उपयोग तब किया जाता है जब कोई दावा विफल हो जाता है।
इसका मतलब है कि सीधे abort
बुला यदि आपका कोड है नहीं है और न ही raise
के माध्यम से ही SIGABRT
संकेत भेजने, और आप किसी भी नाकाम रहने के दावे की जरूरत नहीं है, कारण होना चाहिए कि एक समर्थन पुस्तकालय (जो libc हो सकता है) एक आंतरिक त्रुटि का सामना करना पड़ा है। यदि आप अपने कार्यक्रम का विवरण प्रदान करते हैं तो हम संभावित कारणों का सुझाव दे सकते हैं। इससे भी बेहतर, यदि आप किसी कोर की जांच करते हैं या डीबगर में अपना प्रोग्राम चलाते हैं तो आपको एक स्टैक ट्रेस एकत्र करने में सक्षम होना चाहिए, जो दिखाएगा कि कौन सी लाइब्रेरी आपके प्रोग्राम को निरस्त कर देती है।
(यह भी संभव है कि आपके सिस्टम पर एक अन्य कार्यक्रम अपने कार्यक्रम SIGABRT
भेज रहा है, लेकिन इस ज्यादातर मामलों में गायब संभावना नहीं है।)
व्यवहार में यह आम तौर पर ज़ोर मैक्रो से शुरू हो रहा है:
char* foo = NULL;
assert(foo != NULL);
SIGABRT
- 1. पाइथन सेगमेंटेशन गलती का क्या कारण बनता है?
- 2. एलएलवीएम कोड पीढ़ी seg गलती का कारण बनता है?
- 3. removeObjectAtIndex का कारण बनता है
- 4. Html.RenderAction का कारण बनता है
- 5. Googlebot नेट System.Web.HttpException का कारण बनता है
- 6. CGColorRef क्रैश का कारण बनता है
- 7. pthread_mutex_lock डेडलॉक का कारण बनता है
- 8. Android GLSurfaceView रिसाव का कारण बनता है?
- 9. File.WriteAllBytes का कारण बनता है त्रुटि
- 10. क्यों अप्रचलित त्रुटि का कारण बनता है?
- 11. Entitymanager मेमोरी रिसाव का कारण बनता है?
- 12. SQLite में जर्नल फ़ाइल बनाने का क्या कारण बनता है?
- 13. क्या एसएसएल बहुत अधिक बैंडविड्थ का कारण बनता है?
- 14. एसपीएफ़ मुद्दा: सॉफ्टफेल का क्या कारण बनता है?
- 15. क्या एएसएलआर डीएलएस की धीमी लोडिंग का कारण बनता है?
- 16. EventMachine :: कनेक्शन नॉटबाउंड का क्या कारण बनता है?
- 17. क्या HttpListener HTTP 503 त्रुटि का कारण बनता है?
- 18. WriteFile को ERROR_ACCESS_DENIED वापस करने का क्या कारण बनता है?
- 19. क्या यह कोड मेमोरी रिसाव का कारण बनता है?
- 20. TortoiseSVN: ग्रे चेकमार्क का क्या कारण बनता है?
- 21. क्या वीबी.नेट "अगर" ऑपरेटर मुक्केबाजी का कारण बनता है?
- 22. टूटी हुई पाइप त्रुटि का क्या कारण बनता है?
- 23. क्या आर स्क्रिप्ट को मारने का कारण बनता है?
- 24. आईओएस लिंकिंग त्रुटियों का क्या कारण बनता है?
- 25. Android में MotionEvent.ACTION_CANCEL का क्या कारण बनता है?
- 26. अनुवाद वाई/एक्स फ़ायरफ़ॉक्स में स्क्रॉलबार का कारण बनता है
- 27. क्या होता है जब एक mov निर्देश x86 पर अक्षम इंटरप्ट के साथ पेज गलती का कारण बनता है?
- 28. कास्टिंग चार [] [] से चार ** segfault का कारण बनता है?
- 29. वसंत सुरक्षा लॉगआउट का कारण बनता है NullPointerException
- 30. किस प्रकार का व्यवहार बाधित अपवाद का कारण बनता है?
अच्छा बिंदु !! में परिणाम होगा :) मैं देख कोशिश की कि वह अपने एक संकेत है कि प्रणाली के लिए संकलक से प्रक्रिया निरस्त करने के लिए भेज दिया जाता है कहते हैं, लेकिन मेरे संकलक नहीं कहता है कि कौन सा भाग इस असामान्य खड़ी कर रहा है व्यवहार, एन के लिए इस पर तीर, मैंने संभावित कारणों से पूछा। मेरा कोड 500 लाइन लंबा है। – user1444426
@ user1444426 - इसे डीबग मोड में संकलित करें (-जी ++ के साथ), डीबीएक्स का उपयोग करें और इसे समस्या मिल जाएगी। –
@Ecatmur, विकिपीडिया पेज वास्तव में वह सब उपयोगी नहीं है। यह सब कहता है कि 'abort' उस संकेत को उठाता है, लेकिन यह उससे परे नहीं जाता है। मुझे कभी-कभी मेरे कार्यक्रमों में 'सिगैबर्ट' सिग्नल मिलते हैं, लेकिन मैंने कभी * सीधे * abort' नहीं कहा है। –