c#2009.10.21 20:59
http://mastojun.net/181
http://www.jongkok4.net/10

-릴리즈 모드
프로그램을 배포하기 위해 컴파일 하는 모드
-초기화 하지 않는다.
-같은 문자열 상수라도 서로다른 공간에 할당한다.
-디버깅정보를 삽입하지 않고 코드를 최적화하여 실행 파일 크기를 최대한 줄여준다.
-속도나 크기면에서 월등이 유리하다(메모리 점유율로 낮아지고 실행도 빨라짐)
-더이상 현재버전에서 내결함성이나 문제점들을 발견할 수 없었을때 빌드하여 주는 모드


-디버깅 모드
-컴파일시 들어가는 디버깅에 필요한 자질구리한 정보를 뺀 알짜 프로그램만 쏙 뽑아냄
-실행파일에 디버깅 정보를 삽입하여 언제든지 디버깅을 할 수 있도록 하며 Debug서브 폴더에 실행파일을 만들어준다.
-디버깅정보가 들어가 있기때문에 실행파일 상태를 확인할수 있다.
-디버그에 필요한 정보들을 실행시 계속 체크함으로써 속도가 느림


-디버그 빌드와 릴리즈 빌드에서 서로 실행 결과가 다른 경우?
특기 디버그 빌드에서는 괜찮은데 릴리즈 빌드에서만 오류가 발생하여 프로그램이 죽는 경우가 있는데
이런 경우는 대부분 메모리가 깨진 경우에 발생한다. 두 모드에서 동적으로 메모리를 할당하면 힙 영역에
요청한 크기만큼 메모리를 할당 받게 되는데 그 초기값이 다르다.

-릴리즈 모드와 디버깅모드의 차이점은?
디버깅 정보를 실행코드 안에 넣느냐 안넣느냐임
즉 디버거 모드로 컴파일하게되면 실행상태에서 추적할수 있는 정보가 실행파일 안에 들어가게 됨
그래서 용량이 커점
릴리즈는 디버깅 정보없어 순수한 소스코드자체의 기능만 컴파일되어 실행파일로 만들어짐


http://www.simpleisbest.net/archive/2006/01/17/387.aspx
http://aronze.egloos.com/1357178
http://forums.asp.net/p/1213988/2147709.aspx#2147709
start without debugging란?
디버깅을 사용하지않고 실행
브레이크 포인트를 추가하고 체크하는 디버깅 symbols를 로드하지않고 릴리즈 모드처럼 실행




신고
Posted by 동동(이재동)