2011-06-14 3 views
1

Windows 디버깅 및 CrashFinder 응용 프로그램에 대한 기사에서 John Robbins는 "빌드 프로세스의 일부로 REBASE.EXE를 실행하여 항상 수행되도록해야합니다."라고 말합니다. (Bugslayer, Microsoft Systems Journal, 1998 년 4 월, http://www.microsoft.com/msj/0498/bugslayer0498.aspx)디버깅 목적으로 DLL을 리베이스하는 사람은 누구입니까?

디버깅 목적의 리베이스가 문제가되는지 알고 싶습니다.

Is rebasing DLLs (or providing an appropriate default load address) worth the trouble? 비슷한 질문이 있지만 디버깅 목적과 관련이 없으며 DLL로드 속도가 빨라집니다.

답변

0

예 호스트 프로세스의 다른 DLL과 충돌하지 않도록 DLL을 리베이스하는 것이 좋습니다. 나는 당신이 당신의 질문에있는 연결에서 이렇게하기 때문에 이득을 목록으로 만들지 않을 것이다!

+1

충돌이 발생하면 ASLR (Address Space Layout Randomization)을 사용하는 새 버전의 Windows에서 차이가 줄어 듭니다. DLL이 ASLR 용으로 활성화 된 경우 기본 주소 범위가 이미 프로세스의 주소 공간에로드 된 다른 DLL의 DLL과 겹치지 않아도로드시에 DLL이 재배치됩니다. 그것은 충돌로 인해 재배치되는 런타임 비용과 동일합니다. –

관련 문제