C++에서 지역 변수는 stack에 잡히고, new로 만든 객체는 heap에 잡힌다는 설명을 한 번쯤 들어봤을 것입니다.그런데 실무에서 memory 문제를 볼 때는 이 문장만으로 부족합니다.stack overflow, memory leak, dangling pointer, large allocation, recursion, global object 초기화 문제는 모두 Process memory layout을 이해해야 제대로 해석할 수 있습니다. Process memory layout은 프로그램 코드, 전역 데이터, 동적 할당 객체, 함수 호출 정보를 운영체제가 한 Process의 Virtual address space 안에서 어떻게 구분해 관리하는지 보여주는 지도입니다. 이번 글에서는 Text, Data..