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
  • 106,562
  • 103
  • 351
  • 513

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
  • 67,118
  • 19
  • 136
  • 163
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
  • 106,562
  • 103
  • 351
  • 513
0

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

JesperE
  • 61,479
  • 20
  • 135
  • 194