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
39stars
LGPL-3.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
45/100Fair
Development Activity48
Maintenance44
Community16
Maturity60
Momentum12

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
77/100Good
Architecture82
Code Quality76
Innovation80
Learning Curve68

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

Search