dependency_runner

A cross-platform command-line tool that resolves and inspects Windows PE (DLL/EXE) dependencies, like ldd for Windows.

Tool
Cargo
v1.5.0
39 stars
LGPL-3.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
38 /100 Needs Attention
Development Activity 28
Maintenance 36
Community 16
Maturity 60
Momentum 12

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
77 /100 Good
Architecture 82
Code Quality 76
Innovation 80
Learning Curve 68

dependency_runner is a cross-platform CLI toolkit for debugging Windows executable and DLL loading problems, even from Linux or macOS. It ships wldd, a Windows-oriented reimplementation of GNU ldd, and deprun, a richer tool that emulates the Windows loader to resolve dependency trees, check for missing libraries and symbols, and output human-readable or JSON reports. It understands API sets, KnownDLLs, Dependency Walker .dwp files, and Visual Studio project files.

What You Get

  • wldd, a Windows-focused reimplementation of GNU ldd for PE files
  • deprun, an extended tool resolving full dependency trees and symbols
  • Missing-library and missing-symbol reporting with readable output
  • JSON output plus support for API sets, KnownDLLs, .dwp, and Visual Studio project files

Common Use Cases

  • Debugging DLL-not-found startup failures without a Windows machine
  • Auditing a Windows binary’s full dependency and symbol tree
  • Integrating PE dependency checks into CI via JSON output

Under The Hood

Architecture

The crate builds two binaries, wldd and deprun, over a shared library that parses PE files (import and export tables, API set schema, KnownDLLs) and emulates the Windows loader’s search order to resolve each dependency to a concrete path. Resolution results feed a reporting layer that renders either ldd-style text, a fuzzy-searchable browser (on Unix), or structured JSON.

Tech Stack

A Rust CLI project (Cargo workspace with a checked-in Cargo.lock) parsing the PE/COFF format and Windows loader metadata. It includes fixture binaries under test_data/ for its tests. Published on crates.io as dependency_runner, licensed LGPL-3.0.

Code Quality

The repository ships CI workflows and a test_data/ tree of sample Windows projects used to validate resolution against real binaries, plus a CHANGELOG. Development is active and the feature set is documented in detail in the README.

API Design

As a CLI, its ergonomics come from clear subcommand flags (—check-symbols, —userpath) and output that intentionally mirrors ldd for familiarity. The JSON mode makes it scriptable. Understanding Windows loader concepts (API sets, KnownDLLs) helps interpret advanced output.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers