文章目录
一、sbrk 内存分配系统调用代码示例
二、在 /proc/pid/maps 中查看进程堆内存详情
本篇博客调用 sbrk 系统调用函数 , 申请并修改 堆内存 , 并在 /proc/pid/...maps 中查看该进程的 堆内存 ;
一、sbrk 内存分配系统调用代码示例
----
sbrk 系统调用函数 , 作用是 修改程序 BSS 段大小 ;
函数原型如下 :
#include <unistd.h...(void*)-1 返回值 ;
内存地址查找 : 先获取 当前运行的 进程 ID , 也就是 PID , 然后根据 PID 找到 内存地址 ; 如果进程退出 , 也就获取不到 进程的 信息了 , 这里需要有一个死循环..., 在第二次申请内存时 , 指针始终没有改变 , 一直都是 0x203e000 地址 ;
如果使用新的指针 p_new 接收 sbrk 系统调用返回的堆内存指针 , 则分配的是新的地址 ;
二、在 /...proc/pid/maps 中查看进程堆内存详情
----
在上一节 , 已经打印出进程的 PID 为
4829
, 根据该 PID , 可以直接获取该进程的内存情况 ,
执行
cat /proc/