21.5. 使用 GDB 转储保护进程内存
您可以将进程内存标记为不会转储。这可节省资源并确保进程内存包含敏感数据,以确保其他安全性。内核内核转储(kdump
)和手动内核转储(gcore
,GDB)都不会转储以这种方式标记的内存。
在某些情况下,无论这些保护是什么,都需要转储进程内存的所有内容。此流程演示了如何使用 GDB 调试器执行此操作。
先决条件
步骤
将 GDB 设置为忽略
/proc/PID/coredump_filter
文件中的设置:(gdb) set use-coredump-filter off
将 GDB 设置为忽略内存页面标记
VM_DONTDUMP
:(gdb) set dump-excluded-mappings on
转储内存:
(gdb) gcore core-file
使用您要转储内存的文件名替换 core-file。
其它资源
- 使用 GDB 进行调试 - 10.19 How to Produce a Core file from your program