def write_memory(addr, objects, options = {}, &block)
      check_alive! # this would set @pid
      options[:as] = block if block_given?
      MemoryIO.attach(@pid).write(addr, objects, **options)
    end
def write_memory(addr, objects, options = {}, &block)
      check_alive! # this would set @pid
      options[:as] = block if block_given?
      MemoryIO.attach(@pid).write(addr, objects, **options)
    end
Write an object to process at specific address.

 @param [Integer, String] addr
   Target address.
   +addr+ can be a string like 'heap+0x10'.
   Supported variables are names in +/proc/$pid/maps+ such as +heap/libc/stack/ld+.
 @param [Objects, Array<Objects>] objects
   Objects to be written.

 @option [Symbol, Class] as
   See {#read_memory}.

 @return [void]