2010-04-12 5 views
1

에 관리 코드 라이브러리를 호출하는 응용 프로그램에서 일부 기존 라이브러리를 재구성하는 중입니다.Windows 로더 문제 - 자세한 정보 표시 모드 켜기


... 
'app.exe': Loaded 'C:\WINDOWS\system32\CsDisp.dll' 
'app.exe': Loaded 'C:\WINDOWS\system32\psapi.dll' 
'app.exe': Loaded 'C:\WINDOWS\system32\shell32.dll' 
'app.exe': Loaded 'C:\appCode\Debug\daq206_32.dll', Binary was not built with debug information. 
'app.exe': Loaded 'C:\appCode\Debug\SiUSBXp.dll', Binary was not built with debug information. 
'app.exe': Loaded 'C:\appCode\Debug\AdlinkDAQ.dll', Symbols loaded. 
'app.exe': Loaded 'C:\WINDOWS\system32\P9842.dll', Binary was not built with debug information. 
LDR: LdrRelocateImageWithBias() failed 0xc0000018 
LDR: OldBase  : 10000000 
LDR: NewBase  : 00A80000 
LDR: Diff  : 0x7c90d6fa0012f6cc 
LDR: NextOffset : 00000000 
LDR: *NextOffset : 0x0 
LDR: SizeOfBlock : 0xa80000 
Debugger:: An unhandled non-continuable exception was thrown during process load 

내가 0xc0000018 오류가 중복 주소 범위이라고 생각 : 나는 코드 개편이 있지만, 그것은 다음과 같은 로더 오류가 발생합니다. 그래서 두 가지 질문이 있습니다. 첫째,이 오류를 일으킬 수있는 링커 옵션은 무엇입니까? 나는 현재/DYNAMICBASE : NO 및/FIXED : No와 연결 중입니다. 이전 라이브러리 중 일부가 설정되어있는 방식 이었기 때문에.
둘째로 로더에 대한 자세한 정보 표시 모드를 설정하여로드하려고하는 것이 정확히 무엇인지 확인할 수있는 방법이 있습니까? P9842는 제 3 자 라이브러리이므로 P9842 이후에 내 라이브러리 중 하나에 연결되어 있다고 생각합니다. 좁힐 수 있을까요? 감사.

답변

1

첫 번째 질문에 대해 모르겠다. "XP 이전에는 다른 메모리 유형의 페이지 매핑을 Windows에서 확인하지 않았으므로 Windows XP는 확인했지만 두 번째 메모리 유형 매핑 시도는 STATUS_CONFLICTING_ADDRESSES (0xc0000018) 오류 메시지와 함께 실패합니다"라는 상태 코드 hit this article with the interesting note을 검색했습니다. MapViewOfFile을 사용하는 경우 관련성이 있습니다 ...

두 번째 질문의 경우 로더 스냅을보고 싶습니다. this article at msdn을 참조하십시오. 이 명령을 사용하면 도움이됩니다. "gflags -i yourApp.exe + sls"

+0

답변 해 주셔서 감사합니다. 그것은이 오류를 지나서 접근 위반에 빠지게했다. (행운의 날 :-). 로더 스냅에 관한 기사는 내가 만난 다른 기사보다 낫다. – doobop