[디버깅] 진단 도구의 스냅숏으로 메모리 할당 알아보기

Programming/VisualStudio|2019. 4. 30. 13:47
반응형

안녕하세요.

visual studio2017의 기능인 진단도구 스냅숏에 대해 알아보도록 하겠습니다.

먼저 메모리르 할당하면 스냅숏이라는 걸 활용하면 호출스택과 얼마만큼의 메모리가 할당되었는지 알 수 있는데요~

 

아래를 보면서 알아보겠습니다.

 

 

1. 아래와 같은 간단한 할당 코드가 있다고 할때(지금 보니 delete []배열로 지워주고 있네요. [ ]는 없는 걸로 봐주세요~)

   new int하는 부분에 4바이트가 할당되는데 스냅숏을 써보겠습니다.

 

 

2. 디버그 - 창 - 진단 도구 표시를 눌러주면 옆에 창이 뜹니다.

 

 

3. 진단도구에 보면 현재 프로세스가 어느 정도의 메모리를 쓰는지 등을 알 수 있는데요~ 여기서 메모리 사용량에 스냅숏 만들기를 쓸겁니다.

 

 

4. 먼저 디버깅(F9)로 아래와 같이 할당하는 부분에 걸어주고 스냅숏을 만들면 ID 1과 같이 할단된게 없습니다.

- 디버깅 한 칸 내려서 new할당하고 스냅숏을 만들면 0.04KB가 증가되었다고 나옵니다.

- 또 한칸 내려서 스냅숏 만들면 해제한 메모리가 나옵니다.

 

 

5 그리고 아래와 같이 클릭해주면 호출스택도 나오니 어디서 할당됐는지도 잘 알 수 있습니다.

 

(호출스택)

 

 

감사합니다~

반응형

댓글()