4

How can I search the memory state of an process in Linux? Specifically I wish to identify certain regions of interest, and peek at them at regular intervals, possibly occasionally poking new values.

I suspect an answer may involve calls to ptrace(), and reading /proc/[pid]/mem, but need more to go on.

Matt Joiner
  • 112,946
  • 110
  • 377
  • 526

3 Answers3

2

I believe you can achieve what you want by parsing /proc/[pid]/maps -- I've used that to diagnose invalid pointers

Gregory Pakosz
  • 69,011
  • 20
  • 139
  • 164
2

I've developed some code for the requested functionality.

The module memutil provides process memory region iteration, and python or C memory reading with assistance from the ptrace module, and readmem executable.

If there is any questions, or requests for standalone tools, just ask.

Matt Joiner
  • 112,946
  • 110
  • 377
  • 526
0

Perhaps using GDB would be an option? You should be able to do things like periodically reading memory using breakpoints.

JesperE
  • 63,317
  • 21
  • 138
  • 197