मैं gdb के साथ एक कार्यक्रम संलग्न करने के लिए कोशिश कर रहा हूँ, लेकिन यह मुझे देता है:gdb ptrace कार्रवाई की अनुमति नहीं
कार्रवाई करने के लिए 29139 प्रक्रिया के लिए अटैच नहीं कर सके अटैच किया जा रहा। अपने uid लक्ष्य प्रक्रिया के uid मेल खाता है,/proc/sys/कर्नेल/यम/ptrace_scope की सेटिंग की जाँच करें, या रूट उपयोगकर्ता के रूप में फिर से प्रयास करें। अधिक जानकारी के लिए, /etc/sysctl.d/10-ptrace.conf ptrace देखें: ऑपरेशन की अनुमति नहीं है।
edb-debugger रिटर्न "प्रक्रिया में संलग्न करने में विफल, कृपया विशेषाधिकारों की जांच करें और पुनः प्रयास करें।"
strace रिटर्न "देते हैं: ptrace (PTRACE_ATTACH, ...): कार्रवाई की अनुमति नहीं"
मैं 0 करने के लिए "kernel.yama.ptrace_scope" 1 बदल गया है और "/ proc/sys/कर्नेल/यम/ptrace_scope "1 0 करने के लिए और कोशिश की" = पर्यावरण LD_PRELOAD/ptrace.so "सेट इस के साथ:।
#include <stdio.h>
int ptrace(int i, int j, int k, int l)
{
printf(" ptrace(%i, %i, %i, %i), returning -1\n", i, j, k, l);
return 0;
}
लेकिन यह अभी भी एक ही त्रुटि देता है। मैं इसे डिबगर्स से कैसे संलग्न कर सकता हूं?
यह साधारण कार्यक्रम attachs लेकिन मैं कोशिश कर रहा हूँ एक क्रैकमे फ़ाइल संलग्न करें। इसमें एंटी-डिबग सुरक्षा है [इस तरह] (http://xorl.wordpress.com/2009/01/01/quick-anti-debugging-trick-for-gdb/)। – user2850750
@ user2850750: मैंने उत्तर में एक और बिट जोड़ा। –
मैं इसे रूट – user2850750