Visual C++ 링크 파일(*.map) 생성

# .exe .dll 빌드시 .map 파일을 생성하도록 하면 로딩되는
# obj, 변수 및 함수에 대한 시작주소등을 파악하여
# 런타임시 발생되는 오류(0x00... 주소를 나타내는) 발생시
# 디버깅에 활용 할 수 있다.

# Visual C++ 에서 .map 파일 생성하기
프로젝트 속성 -> 링크 -> 디버깅 -> 맵 파일 생성 -> 예

# .map 파일은 크게 다음의 3가지로 구분된다.
# 코드영영과 데이터영역의 기본 시작 주소
Start         Length     Name                   Class

# 전역 변수 및 일반 함수에 대한 주소
# obj 정보(보통 이부분에서 오류 주소를 찾아보면 된다.)
Address         Publics by Value              Rva+Base       Lib:Object

# 정적 변수 및 함수에 대한 주소, obj 정보
Static symbols

# 참고로 Linux 에선 실행파일(컴파일시 -g 옵션이 포함되어 있어야 함)을
# nm 명령어로 확인해 볼 수 있다.

comments:

댓글 쓰기