Hello Jean, congratulations on the big rewrite!
A small additional feature I think would be nice for long running programs is if one could supply a buffer for read_process_memory to fill out, instead of it allocating one itself; Or maybe just a separate read_process_memory_into function for a cleaner interface :
| defread_process_memory( |
| self, |
| address: int, |
| pytype: Type[T], |
| bufflength: Optional[int] =None, |
| ) ->T: |
defread_process_memory_into( self, address: int, buffer: bytes|ctypes.PyCArrayType|ctypes.Structure|numpy.ndarray, # Or whatever is most appropriate
) ->None:
In my program, I frequently read memory regions to the same sized buffers over and over (recording app), often discarding the previous version. If I could keep the same buffers around, I could reduce GC pressure and potential leaks, and then effectively run with constant memory.
Hello Jean, congratulations on the big rewrite!
A small additional feature I think would be nice for long running programs is if one could supply a buffer for
read_process_memoryto fill out, instead of it allocating one itself; Or maybe just a separateread_process_memory_intofunction for a cleaner interface :PyMemoryEditor/PyMemoryEditor/process/abstract.py
Lines 421 to 426 in 79923e2
In my program, I frequently read memory regions to the same sized buffers over and over (recording app), often discarding the previous version. If I could keep the same buffers around, I could reduce GC pressure and potential leaks, and then effectively run with constant memory.