HEAP CORRUPTION DETECTED

WanJu Kim·2023년 11월 6일
0

2D Project

목록 보기
13/13

원래라면 할당 받은 메모리 이외의 메모리에 접근했을 때 뜨는 에러다. 근데 아무리 찾아봐도 그런 구문을 쓰지 않아서,,, 주석 처리 방법으로 찾아봤는데 원인이 좀 특이하다.

50줄의 문구를 쓰느냐 안 쓰느냐에 따라서 heap corruption이 일어났다. cpp에 m_pBlood 문구를 아무 것도 안 적어도 말이다. 그래서 저 클래스에 무슨 문제가 있나 싶었는데, 저 클래스 내에 아무 것도 안 적어도 같은 문제가 일어난다. 그리고 저 클래스 대신 그냥 아무 메모리나 할당 받아도 heap corruption이 일어난다. 예를 들면 flaot* 메모리를 할당 받아도 같은 문제가 발생한다.

근데 신기한 건, 저 문구의 위치를 바꾸면 문제가 발생하지 않는다는 것이다. 물론 다 되는 건 아니고, 예를 들어 맨 밑으로 바꾸면 된다.

궁금증은,
'진짜'원인이 무엇인가? 문제가 원래 있었는데 그냥 메모리 할당 하나 더 받게 됨으로써 터진 것인가? 아니면 '새로운 메모리 할당 받는 것 자체'가 문제인가?

profile
Question, Think, Select

0개의 댓글