윈도우즈 프로그램이 아래와 같이 알수없는 런타임 에러를 내는 경우, -------------------------------------------------------------------------------------- 1. setting - C/C++ tab : Line Numbers Only 로 설정 ( Visual Studio 2005 이상 버전에서는 삭제) 2. setting - Link tab : Generate map file 체크 3. setting - Link tab : Project options 란에 /MAPINFO:LINES /MAPINFO:EXPORTS 추가 --------------------------------------------------------------------------------------
2. 라인을 찾기 위해 crash address - load adress - 0x1000 = offset 으로 offset을 구한다. : 0x1000 은 PE header 정보크기이다. 3. offset으로 라인을 찾는다. : 2에서 구한 offset 값으로 라인을 찾으면 OK. 결론은 릴리즈시 바이너리생성과 동시에 map파일 생성하고, 릴리즈 바이너리처럼 관리해서 문제 발생시, 문제부분을 정확히 알아내자.... 정도. 문제는 외부 라이브러리등의 링크시 확인이 불가능하다... 'IT > Visual Studio' 카테고리의 다른 글
|