क्या कोई भी लिनक्स कर्नेल 2.6 के साथ/proc/pid/mem फ़ाइल को mmaping करने में सफल रहा है? मुझे एक ईएनओडीईवी (कोई ऐसी डिवाइस नहीं) त्रुटि मिल रही है। मेरे कॉल इस तरह दिखता है:एमएमएपी/proc/pid/mem
char * map = mmap(NULL, PAGE_SIZE, PROT_READ, MAP_SHARED, mem_fd, offset);
और मैं जब निष्पादन इस कॉल में पहुँचता है, ऑफसेट ढेर शून्य से PAGE_SIZE के शीर्ष के मूल्य होता है,/proc/पीआईडी / नक्शे फ़ाइल जबकि डिबगिंग को देखकर सत्यापित किया है । मैंने ptrace के साथ भी सत्यापित किया है कि mmap ENODEV को गलत सेट कर रहा है।
बहुत बहुत धन्यवाद! मुझे लगता है कि मेरे Ubuntu x86_64 में base.c फ़ाइल नहीं है - मेरा/usr/src dir खाली है। आप क्या विचलन कर रहे हैं? –
@ अमिताई: आप 'लिनक्स-स्रोत' पैकेज इंस्टॉल कर सकते हैं या लिनक्स कर्नेल स्रोत को सीधे kernel.org से ला सकते हैं। उल्लिखित लिंक पर – ephemient
त्रुटि 404 :( – ashish