카테고리 없음

함수 호출부와 함수 내부 메모리 주소 값이 다른 문제

songye 2025. 5. 28. 15:17

 

** Message: 22:20:25.118: ptr is 0x7fb69e2308
** Message: 22:20:25.118: ptr is 0xffffffffb69e2308

 

첫번째 메세지는 함수 내부에서 반환하기전 변수의 포인터 주소값

두번째 메세지는 함수 호출부에서 반환한 후 변수의 포인터 주소값 입니다.

 

프로세스가 저 두번째 주소값을 참조할 때 바로 죽는 문제가 있어서 디버깅 과정 중에 알아낸 것을 정리합니다.

 

결국에는 선언이 올바르게 되어 있지 않아 주소값을 올바르게 불러오지 못한 문제였습니다.

 

컴파일러가 왜 잡지 못했을까 보니 Warning만 뜨고 Error뜨지 않는다고 합니다.

-Werror 태그를 붙이는 장점들이 여기서 발휘되는 것 같습니다.

 

호출부에서 주소값 전체를 올바르게 가져오지 못한다면

올바른 헤더를 가져오고 있는지 확인해봅시다.