2012-08-29 3 views
0

VS 2005에서는 링커가 IDE에서 옵션을 명시 적으로 설정하여 libs 링커의 경로를 검색 할 수 있습니다. 해당하는 dll의 위치를 ​​찾는 방법은 무엇입니까?로드 된 DLL 찾기 LIB

1>Searching libraries 
1> Searching C:\Program Files (x86)\Microsoft Visual Studio 8\VC\lib\msvcrtd.lib: 
1>  Found _memcpy 
1>  Referenced in deflate.obj 
1>  Referenced in gzio.obj 
1>  Referenced in infback.obj 
1>  Referenced in inflate.obj 
1>  Loaded msvcrtd.lib(MSVCR80D.dll) 

위의 경우, MSVCR80D.dll은 어디에서 왔습니까? VC 디렉토리에서 dll을 검색했으며 10 개 이상의 결과가 표시되었습니다. 정확히 어느 것이로드되어 있는지 쉽게 찾을 수 있습니까?

답변

3

DLL은 링크 할 때가 아니라 런타임에 실제로로드됩니다. 실제로 네이티브 DLL은 링크를 수행하기 위해 컴퓨터에 존재하지 않아도됩니다.

디버거 (일반적으로 F5)에서 프로그램을 실행하고 "디버그"하위 메뉴 인 IIRC에서 "모듈 창"을 열 수있는 정보를 볼 수 있습니다.

또한 실행 파일을 분석하고로드 할 DLL을 추론 해 볼 수 있습니다. 가장 좋은 도구는 의심 할 바없이 Dependency Walker입니다. DLL도 분석 할 수 있지만 관리되는 DLL에 문제가있을 수 있습니다.

관련 문제