在Linux中将文件读取到内存,将linux进程的内存转储到文件中

我不确定如何在不重复执行此操作的情况下将所有内存转储到文件中(如果有人知道自动获取gdb的方法请告诉我),但以下内容适用于任何一批内存,假设您知道pid:

$cat /proc/[pid]/maps

这将是格式(示例):

00400000-00421000 r-xp 00000000 08:01 592398 /usr/libexec/dovecot/pop3-login

00621000-00622000 rw-p 00021000 08:01 592398 /usr/libexec/dovecot/pop3-login

00622000-0066a000 rw-p 00622000 00:00 0 [heap]

3e73200000-3e7321c000 r-xp 00000000 08:01 229378 /lib64/ld-2.5.so

3e7341b000-3e7341c000 r--p 0001b000 08:01 229378 /lib64/ld-2.5.so

选择一批内存(例如00621000-00622000)然后使用gdb作为root连接到进程并转储该内存:

$gdb --pid [pid]

(gdb) dump memory /root/output 0x00621000 0x00622000

然后使用strings命令分析/ root / output,而不是想要整个屏幕上的PuTTY.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值