¿Cómo ver el diseño de memoria de mi programa en C durante el tiempo de ejecución?

Me gustaría ver el diseño de la memoria de mi programa en C para poder entender todos los diferentes segmentos de la memoria prácticamente durante el tiempo de ejecución, como el cambio en BSS o Heap por ejemplo.