Alternative to Dependency Walker

김정환(John.Kim)
OldbeeDev
Published in
3 min readFeb 9, 2020
출처 : dependencywalker

오래전 일이지만, VC++ 함수를 export할 때 extern “C”를 안해서 name mangling 문제로 “entry point not found” 에러를 겪은 적이 있습니다. MFC로 UI를 개발하고 인스톨본을 만들어 배포할 때도 dll이 누락되어 런타임에 낭패를 겪는 경우가 종종 있었지요.

이런 일이 있을 때마다, Dependency Walker를 실행시켜서 누락된 dll이 뭔지 확인하곤 했습니다. 이 프로그램은 Visuaul Studio나 SDK에 포함되어 배포되었던 것으로 기억합니다.

시간이 흘러 C#/WPF/.NET Core 로 넘어와서 일을 하다보니, 점점 이 프로그램을 사용하는 빈도가 줄어들었습니다. 그러다가 나중에서야 이 프로그램이 제대로 동작하지 않는다는 사실을 알았습니다. (2006년 즈음부터 개발이 중단되었다고 합니다.)

못내 아쉬운 마음이 들어서, 조금 찾아보니 다행히 훌륭한 대체품이 있었습니다.

Dependencies — An open-source modern Dependency Walker

설치순서

  • https://github.com/lucasg/Dependencies/release에서 최신본 (현재 v1.10)을 다운로드 받습니다. 저는 Dependencies_x64_Release.zip를 다운로드 받았습니다.
  • 압축 파일을 풀어서 DependenciesGui.exe를 실행합니다. 최초 실행시 아래와 같은 SmartScreen이 뜰 수 있습니다. [실행]을 선택합니다.

사용법

  • Dependencie 프로그램에 .exe파일이나 .dll 파일을 드래그앤드랍 해보면 아래와 같이 dll 목록이 쫘악 뜹니다.
  • 테스트 삼아 Newtonsoft.Json.dll 을 이름을 변경한 후 Dependencies에서 Refresh(=F5) 해보면 아래 그림과 같이 해당 dll을 찾을 수 없다는 표시가 뜹니다.

좋네요~ 이 개발자에게 고마운 마음입니다. :)

--

--