আমি একটি শিশু প্রক্রিয়া স্ট্যাক পড়ার চেষ্টা করছি তবে ভাগ্য নেই। আমি জানি এটি ব্যবহার সম্ভব ptrace
, তবে ptrace
এর ইন্টারফেস আপনাকে একবারে কেবল একটি শব্দ পড়তে দেয় এবং আমি স্ট্যাকের আরও বড় অংশগুলি স্ক্যান করার চেষ্টা করছি।
আমি প্রথমে পিট্রেস ব্যবহার করে এটি সংযুক্ত করার জন্য প্রথমে ফাইল /proc/$pid/mem
থেকে আহৃত স্ট্যাকের সীমাটি থেকেও পড়ার চেষ্টা করেছি /proc/$pid/maps
( এখানে প্রস্তাবিত হিসাবে ) তবে পড়তে ব্যর্থ হয় (মূল হিসাবে চলতে গিয়েও) যদিও চেষ্টা করা হয় একই কোডটি সফল হয় প্রক্রিয়া বিভিন্ন অংশ থেকে পড়া (যেমন হিপ)।
আমি কি ভুল করছি? অন্য কোন বিকল্প আছে?
waitpid
মধ্যেptrace(PTRACE_ATTACH,…)
এবংread
(ক সম্ভব race অবস্থা অন্যথায় আছে)? কোন ত্রুটিread
ফিরে আসে? শিশুটি কি তার স্মৃতি ম্যাপিংয়ের সাথে অদ্ভুত কিছু করছে - আপনি কি কোনও সাধারণ বাচ্চার মতো আপনার কোডটি চেষ্টা করতে পারেনsleep
?