카테고리 없음
함수 호출부와 함수 내부 메모리 주소 값이 다른 문제
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 태그를 붙이는 장점들이 여기서 발휘되는 것 같습니다.
호출부에서 주소값 전체를 올바르게 가져오지 못한다면
올바른 헤더를 가져오고 있는지 확인해봅시다.