在Linux中有哪些工具可以查看存储在内存的“进程中的数据结构”?

发布网友

我来回答

2个回答

热心网友

这应该是需要对进程做完整的coremp。
当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump(中文有的翻译成“核心转储”)。我们可以认为 core mp 是“内存快照”,但实际上,除了内存信息之外,还有些关键的程序运行状态也会同时 mp 下来,例如寄存器信息(包括程序指针、栈指针等)、内存管理信息、其他处理器和操作系统状态和信息。core mp 对于编程人员诊断和调试程序是非常有帮助的,因为对于有些程序错误是很难重现的,例如指针异常,而 core mp 文件可以再现程序出错时的情景。
Linux对信号SIGQUIT(3),SIGABRT(6), SIGFPE(8)和SIGSEGV(11)的默认处理,都可以强制让进程产生coremp文件。
如果进程代码对这些信号做了其它处理,就不会产生了。

# ulimit -c unlimited

# kill -6 PID
默认情况下,core mp生成的文件名为core,而且就在程序当前目录下。新的core会覆盖已存在的core。
至于core文件的内存分析,请自行百度。

热心网友

这个不能哦!早年使用实模式的DOS系统可以。后来使用了保护模式和虚拟模式的进程管理系统后,就不允许访问别的进程,因为这是很大的安全漏洞。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com