Oli*_*nde 7 memory linux operating-systems ubuntu
是否有任何工具可以查看/编辑 Linux 上正在运行的进程的用户空间内存?
这将是一个很好的学习工具。
进程的内存可以作为文件使用/proc/12345/mem
,其中 12345 是进程 ID。不过,你暂时还不能直接从中学到任何东西。首先要弄清楚哪些部分被映射;此信息在/proc/12345/maps
和 中可用/proc/12345/smaps
。中的条目/proc
记录在内核文档中Documentation/filesystems/proc.txt
。该lsof
命令将以更易读的方式提供有关进程已映射到内存中的文件的信息。
使用调试器查看正在运行的进程可能更有指导意义。Linux 下常用的调试器是Gdb。Gdb 有一个简单的命令行界面;DDD和Emacs提供了用户友好的界面。为获得最佳结果,请查看仍然具有调试符号且其源代码可用的程序(即查看您刚刚编译的程序-g
且尚未剥离的程序)。
您还应该知道如何strace
观察进程正在进行的系统调用,以及ltrace
观察(一些)库调用。