// ReadVM uses the process_read_vm system call to read len(data) bytes from the
// child's 'addr' address. This is the same as PeekData, except process_read_vm
// may be subject to additional permissions that the child is restricted to.
// Generally ReadVM is faster than PeekData.
ReadVM uses the process_read_vm system call to read len(data) bytes from the
child's 'addr' address. This is the same as PeekData, except process_read_vm
may be subject to additional permissions that the child is restricted to.
Generally ReadVM is faster than PeekData.
// ReadVM uses the process_read_vm system call to read len ( data ) bytes from the // child ' s ' addr ' address . This is the same as PeekData except process_read_vm // may be subject to additional permissions that the child is restricted to . // Generally ReadVM is faster than PeekData .
func (t *Tracer) ReadVM(addr uintptr, data []byte) (int, error) {
	remoteIov := unix.RemoteIovec{
		Base: addr,
		Len:  len(data),
	}
	localIov := unix.Iovec{
		Base: &data[0],
		Len:  uint64(len(data)),
	}
	return unix.ProcessVMReadv(t.pid, []unix.Iovec{localIov}, []unix.RemoteIovec{remoteIov}, 0)
}
func ( t * Tracer ) ReadVM ( addr uintptr , data [ ] byte ) ( int , error ) { remoteIov := unix . RemoteIovec { Base : addr , Len : len ( data ) , } localIov := unix . Iovec { Base : & data [ 0 ] , Len : uint64 ( len ( data ) ) , } return unix . ProcessVMReadv ( t . pid , [ ] unix . Iovec { localIov } , [ ] unix . RemoteIovec { remoteIov } , 0 ) }
ReadVM uses the process_read_vm system call to read len(data) bytes from the
child's 'addr' address.
ReadVM uses the process_read_vm system call to read len ( data ) bytes from the child ' s ' addr ' address .