2012-02-13 15 views
15

मैं एक बहुत ही सरल सवाल है, लेकिन मैं सभी सप्ताह के अंत में इसे करने के लिए किसी भी जवाब मिल करने में कामयाब नहीं किया है। मैं sendto() फ़ंक्शन का उपयोग कर रहा हूं और यह त्रुटि कोड 14: EFAULT लौटा रहा है। आदमी पृष्ठों के रूप में वर्णन:यूनिक्स सॉकेट त्रुटि 14: EFAULT (बुरा पता)

"An invalid user space address was specified for an argument." 

मुझे विश्वास है कि यह आईपी पते मैं निर्दिष्ट करने गया था के बारे में बात कर रहा था था, लेकिन अब मैं इसे संदेश बफर है कि यह करने के लिए बात कर रहा है की स्मृति पता न लगे - मुझे इस पर कोई स्पष्टीकरण नहीं मिल रहा है, क्या कोई इसे साफ़ कर सकता है?

धन्यवाद, जम्मू

+0

प्रेषक को दिए गए 'कॉन्स्ट स्ट्रक्चर msghdr * संदेश' तर्क के अंदर कुछ अमान्य है, यदि आप अधिक विशिष्टताओं पर सहायता चाहते हैं तो कुछ प्रासंगिक कोड पोस्ट करें। – nos

उत्तर

24

EFAULT ऐसा कुछ तर्क (किसी भी सिस्टम कॉल करने के लिए या अधिक आम तौर पर) sendto के लिए पारित की स्मृति पता अमान्य है, तो। अपने syscall के बारे में कर्नेल भूमि में SIGSEGV के रूप में इसके बारे में सोचें। उदाहरण के लिए, यदि आप एक शून्य या अमान्य बफर पॉइंटर (पढ़ने, लिखने, भेजने, प्राप्त करने के लिए ...) प्राप्त करते हैं, तो आपको

errno(3), sendto(2) आदि देखें ... मैन पेज।

EFAULT आईपी से संबंधित नहीं है सब पर संबोधित करते हैं।

+0

अहा ठीक thankyou, मैं अपने बफर सूचक घर पहुंचने पर जाँच करें और देखें कि यह thats ठीक करता है! – aktungmak

+0

हाँ, यह किया था! मुझे अपने कुछ पॉइंटर्स उलझन में मिला था, धन्यवाद! – aktungmak