视图:
整体布局
栈帧细节
堆分配细节
变量生命周期
进程虚拟地址空间
低地址 → 高地址(自上而下)
代码段 Text Segment
可执行机器指令、只读常量
0x00400000
已初始化数据段 Data
全局变量、静态变量(已初始化)
未初始化数据段 BSS
全局/静态变量,程序启动前清零
堆 Heap
malloc / new 动态分配,向上增长
brk/mmap 扩展
栈 Stack
局部变量、函数参数、返回地址
向下增长
代码映射
// C++ 示例代码
int g_init = 42;
int g_uninit;
int main() {
int local = 10;
int *p = new int(20);
static int s = 5;
func(local);
delete p;
return 0;
}
annotation
增长
增长
点击左侧内存区域或代码行查看详情
这张交互图展示了一个典型 C/C++ 进程的虚拟地址空间布局。上方是低地址,下方是高地址。
代码段
已初始化数据
BSS
堆
栈
Generated with
Tabbit.