inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

동적 할당 #2

heap overflow 예시에서

해결된 질문

250

한울

작성한 질문수 36

0

예시를 똑같이 작성하고 실습하였는데 아무리 시도를 해도 HEAP CORRUPTION DETECTED라는 내용은 안 나오고 중단점 명령 실행됨(중단점 명령이 ....exe에서 실행되었습니다)이라고만 나오는데

 

이 2개가 동일한 의미인가요?

c++

답변 1

1

Rookiss

Visual Studio 버전에 따라 다를 수 있으니 신경쓰지 마세요!

0

한울

1가지 더 궁금한 것이 있습니다

void* pointer = malloc();에서 malloc에

4를 입력하면 언급했던 내용이 나오고

12를 입력하면 정상적으로 종료되지만

8을 입력하면 이 경우에도 유효한 heap 범위를 초과하게 될 텐데 언급했던 내용이 나오지도 않고 정상적으로 종료되지도 않은 채 가만히 멈춰있는 것 같습니다(진단 세션 시간은 계속 증가)

이유가 무엇일까요?

1

Rookiss

우선 1 번 작성하셨으면 그냥 놔두시면 제가 시간 될 때 답변 드립니다.

질문주신 부분은 힙 할당 관련 내용인데
heap corruption은 애당초 추적을 하는 것이 100%가 아닙니다.
디버깅 모드라면 특정 값 (ex. 0xCC)를 이용해 지뢰밭을 설치해서
해당 부분이 수정 되었는지로 판별하지만,
애당초 이건 정확하지도 않고 디버그 모드에서만 작동하는 것이라 신뢰할 수 없습니다.
즉 터지지 않아도 문제가 없는게 아니라는겁니다.

그리고 할당하는 크기에 따라 메모리 할당 위치 및 다른 메모리 할당이 근처에 있는지 등
여러가지가 달라지기 때문에 딱히 왜? 라고 대답하기 힘듭니다.

소스코드와 관련하여 질문드립니다

0

70

1

map 컨테이너의 emplace 함수에 대해

0

113

2

시작이 안되네요...!

0

96

2

EAX 명령어 실행 시 RAX의 상위 32비트가 초기화 되는 이유

0

125

1

리틀 엔디안 장점 질문합니다.

0

131

1

메모리 창에 주소를 넣었는데 영어 꺠짐

0

124

1

타입변환#2 build시 knight 인접 stack이 침범당했다는 error가 발생합니다.

0

94

2

map #1 8분 58초 맵은 레드블랙트리로 이루어진 것 같습니다.

1

138

2

hello world 부터 오류 ㅠㅜ

0

188

1

지역변수가 스택? 레지스터

0

129

2

마지막 문제 질문드립니다.

0

164

2

메모리창이 비활성화됩니다.

0

98

1

이중포인터 강좌 부분 질문있습니다.

0

145

1

2를 더하는 이유

0

133

1

메모리 주소 창 엔디안 질문 드립니다. 인프런 봇 답변도 괜찮습니다

1

110

1

해당 코드는 왜 오류가 날까요?

0

155

1

마지막 문제 질문 있습니다.

0

119

1

강의 마지막부분에 질문이 있습니다.

0

191

2

Field초기화

0

140

1

virtual과 override 차이

0

314

2

3:30 참조자 리턴

0

167

1

map 찾기

0

158

1

프로그램 질문드려요

0

260

1

캐스팅 질문

0

138

1