查看/编辑正在运行的进程的用户空间内存的工具?

Oli*_*nde 7 memory linux operating-systems ubuntu

是否有任何工具可以查看/编辑 Linux 上正在运行的进程的用户空间内存?

这将是一个很好的学习工具。

Gil*_*il' 5

进程的内存可以作为文件使用/proc/12345/mem,其中 12345 是进程 ID。不过,你暂时还不能直接从中学到任何东西。首先要弄清楚哪些部分被映射;此信息在/proc/12345/maps和 中可用/proc/12345/smaps。中的条目/proc记录在内核文档中Documentation/filesystems/proc.txt。该lsof命令将以更易读的方式提供有关进程已映射到内存中的文件的信息。

使用调试器查看正在运行的进程可能更有指导意义。Linux 下常用的调试器是Gdb。Gdb 有一个简单的命令行界面;DDDEmacs提供了用户友好的界面。为获得最佳结果,请查看仍然具有调试符号且其源代码可用的程序(即查看您刚刚编译的程序-g且尚未剥离的程序)。

您还应该知道如何strace观察进程正在进行的系统调用,以及ltrace观察(一些)库调用。