我正在尝试读取子进程的堆栈,但没有运气。我知道可以使用ptrace,但是ptrace的界面允许您一次只读取一个单词,我正在尝试扫描堆栈的更大部分。
ptrace
我还尝试在首先使用 ptrace 附加到文件后/proc/$pid/mem从/proc/$pid/maps文件中提取的堆栈边界读取(如建议here),但读取一直失败(即使以 root 身份运行),尽管相同的代码在尝试时成功从进程的不同部分(例如堆)读取。
/proc/$pid/mem
/proc/$pid/maps
我究竟做错了什么?还有其他选择吗?
linux kernel memory proc
kernel ×1
linux ×1
memory ×1
proc ×1