|
|
|
|
 请教一个有关ptrace的问题? - kkyyoo [ 2005-07-28 20:57 | 378 byte(s)]
 Re: 请教一个有关ptrace的问题? - drangon_zhou [ 2005-07-30 12:46 | 230 byte(s)]
 Re: 请教一个有关ptrace的问题? - kkyyoo [ 2005-07-31 11:29 | 355 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
各位大哥好:
ptrace()是调试之用,可以读取或修改被跟踪进程的当前寄存器或内存的值。
假设现在有一个父进程执行到一半时,调用fork()来产生一个子进程,然后子进程随即调
用ptrace()来跟踪父进程,这样的话是否可以正确的得到父进程的暂存器和内存的值呢?
还是说这样行不通呢?
麻烦各位大哥帮小弟解答一下
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
fork出来的子进程除了fork的返回值不一样外,其他和父进程都一样,
为什么不在父进程中调用ptrace()来跟踪子进程呢?这样更合习惯一些。
获取寄存器合内存的值当然是可以的,修改也可以。还可以控制子进程的系统调用。
|
|
|
----
岂有豪情似旧时,花开花落两由之。
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
哈哈! 感谢这位大哥的回覆~~
经过这位大哥的提醒才想到, ''fork出来的子进程除了fork的返回值不一样外,其他和父进程都一样''
所以就换过来由原本的进程追踪子进程, 终于得到自己想要的结果啦.....
不过还是奇怪, 如果按照原本的想法, 由子进程跟踪父进程, 抓取出来的内容会是错的....
总而言之....还是感谢....
|
|
|
[Original]
[Print]
[Top]
|
|
|