使用Ptrace来跟踪正在打开的文件的位置

我正在使用下面的代码,每当打开一个系统调用被调用时,它实际上会让我得到寄存器(eax,ebx,ecx)中的内容。 经过很多的斗争,我明白了这个问题的价值。
ebx包含指向文件名的指针。 但是当我尝试访问它时,我得到了一个分段错误。 我哪里错了? 代码可以从这里访问

Solutions Collecting From Web of "使用Ptrace来跟踪正在打开的文件的位置"

每个进程都有自己的地址空间。 从另一个进程获得的地址在你的地方是无效的。 在另一个进程中读取内存的一种方法是使用PTRACE_PEEKDATA 。 在Linux上,另一种方法是打开/proc/<pid>/mem ,寻找地址,并从文件中读取。