GDB를 통한 ptmalloc2 원리 분석 (malloc, free)


GDB를 통한 ptmalloc2 원리 분석 (malloc, free)

이전 글: 동적 메모리 할당과 ptmalloc2 이해 이번에는 리눅스에서 동적으로 메모리를 관리(dynamic memory management)하는 부분에 대해 살펴봅니다. 메... blog.naver.com 이번 시간에는, 이전에 다소 이론 및 구조적으로 살펴보았던 ptmalloc2를 GDB(GNU Debugger)를 통해서 한번 실제로 메모리에서 어떤 모양을 이루고 있는지 간단한 C언어 예제와 함께 "바이트 단위"로 살펴봅니다. 우선 먼저 아래 예제를 살펴봅시다. 총 3번 메모리를 모두 malloc() 함수를 통해 동적 할당을 3번 합니다. 이때 첫번째에서는 136바이트를, 이어서 80바이트를 선언하고, 첫번째의 136바이트짜리 메모리를 할당 해제합니다. 그리고 136바이트의 메모리를 다시 동적으로 재할당합니다. 그리고, stdin(standard input)을 통해 다시 그 영역에 데이터를 입력받습니다. 이렇게 해제한 메모리를 가까운 시점에서 다시 그만큼 다시 할당하도록 요청한...


#Assembly #리눅스 #메모리 #바이너리 #분석 #시스템 #운영체제 #원리 #자료구조 #자세히보기 #포인터 #동적함수 #단일연결리스트 #tcache #C #chunk #C언어 #fastbin #free #GDB #heap #malloc #ptmalloc2 #ptmalloc2원리 #힙

원문링크 : GDB를 통한 ptmalloc2 원리 분석 (malloc, free)