C++ coverage for Windows and AI workflows

See which code your tests cover.

Measure the Windows binary you already build, with its PDB. Give developers and AI agents the coverage to write better tests. No rebuild required.

Free for open source and personal use. There is no license key; you sign in once.

Read the workflow

Run a test or a suite from Test Explorer. Coverage gutters identify lines that ran and lines that did not. Per-file coverage helps you find the untested paths while the code is open.

Test Explorer → Run tests → Inspect coverage gutters
The VS Code extension runs the tests under covdbg and marks every line in the gutter: green ran, red did not.

Coverage for your AI agent

Help your AI agent find untested code.

covdbg's built-in MCP server lets your coding agent run coverage, find untested paths, and read the surrounding source. The agent can add a focused test, run it, and check whether it exercised the gap.

The same measurements work for you in the editor, in an HTML report, and in CI. AI integration is part of the workflow, with your existing tests at its center.

  1. 01MeasureRun your real tests
  2. 02InspectFind uncovered paths
  3. 03ImproveAdd tests. Measure again.

Get started with covdbg

01

Run

Works with any Windows x64 binary that has a PDB: tests, services, or the application itself.

covdbg -c .covdbg.yaml -o coverage.covdb tests.exe
02

Merge

Combine unit tests, integration runs, and a baseline of the whole application into one database.

covdbg merge -i unit.covdb -i integration.covdb -o all.covdb
03

Export

Write LCOV, GCOV or HTML. Keep your existing quality gates and share a source-level report.

covdbg convert -i all.covdb -f LCOV -o coverage.lcov

No rebuild

Coverage from the binary you already build.

covdbg works like a debugger. It starts your executable, reads the PDB, and places lightweight probes while the program runs. Your build stays as it is, with the same compiler, the same flags, and the same binary you ship.

  • MSVC and any toolchain that produces PDBs, C++23 included
  • Follows child processes and DLLs, and works with long-running services
  • Choose which files and functions to track in a small YAML file
Read the workflow

Run your existing Windows executable with its PDB, collect coverage in a database, then convert it to LCOV for your reporting tools.

covdbg -c .covdbg.yaml -o coverage.covdb tests.exe
The command line: covdbg runs the binary you already build, prints the summary, and exports LCOV.

In your editor

Coverage in the editor, while you work.

The VS Code extension runs your tests under covdbg from the Test Explorer and marks each line in the gutter: green for lines that ran, red for lines that did not. You see the untested error path while you still have the code open.

  • Run one test or the whole suite and see coverage a few seconds later
  • Per-file percentages, refreshed on every run
  • Uses the same database as the CLI, so the numbers match
Read the workflow

Run a test or a suite from Test Explorer. Coverage gutters identify lines that ran and lines that did not. Per-file coverage helps you find the untested paths while the code is open.

Test Explorer → Run tests → Inspect coverage gutters
The VS Code extension runs the tests under covdbg and marks every line in the gutter: green ran, red did not.

In your pipeline

Review coverage in your pull requests.

Add covdbg to GitHub Actions, Azure DevOps, or Jenkins with a project token, convert the result to LCOV, and upload it to Codecov or your own quality gate. The token covers every author with a seat, so nobody has to sign in on a build agent.

  • First-class GitHub Action: liasoft/setup-covdbg
  • Baseline coverage reports code that is not linked into a test as uncovered instead of leaving it out
  • Merge parallel jobs into one report
Read the workflow

Use a project token to run covdbg in your pipeline. Export LCOV and upload the report to Codecov to see coverage on the pull request.

Run tests → Export LCOV → Upload coverage
One extra step in a GitHub Actions workflow runs the same tests under covdbg and posts coverage to the pull request.

Built for every C++ team

For small projects and large ones.

The same tool works for a quick check during development and for the coverage rules a long-lived product needs.

Open source and personal projects

Free on every public repository, and on one private repository at a time.

Sign in once with GitHub, add the action to CI with a project token, and switch your private repository whenever you like at app.covdbg.com.

Teams

A seat per developer, every repository, all of CI.

Invite people by email, give the pipeline a project token, and get a coverage number on every pull request.

Larger organizations

Volume pricing, purchase orders, and annual invoicing.

Tell us how many developers you have and how your company buys software, and we put a quote together.

Try it first

Free for public and personal projects.

Use the same download on every plan. Start with public repositories or one private repository, and add team seats when you need them.

Free

$0

For personal use and open source.

  • Unlimited public repositories
  • One private repository at a time, switch any time
  • CLI, VS Code, public CI with a project token
  • LCOV and GCOV export
  • Your own dashboard at app.covdbg.com
Download

Enterprise

Let's talk

For larger organizations.

  • Volume pricing
  • Purchase orders
  • Annual invoicing
Contact us

Tell us what your team needs.

Compare plans and read how licensing works →

Frequently asked questions

Do I need to recompile my code?

No. covdbg works with your existing binaries. Point it at an .exe or .dll built with debug symbols (PDB) and it handles the instrumentation at runtime. No compiler flags, no build system changes.

Which compilers are supported?

MSVC, and any compiler that produces Windows x64 binaries with PDB debug information. Modern language features up to C++23 are fully supported.

How much does covdbg cost?

It is free for open source and for personal use on one private repository. Teams pay $12 per user per month at app.covdbg.com. See the pricing page.

Is there a license key?

No. You sign in once per machine with covdbg login; in CI, a project token takes the place of the sign-in. The license service checks each run, and the result is cached so covdbg keeps working offline for a few weeks.

What does covdbg send to the license service?

The repository's git remote URL, the email address in your git configuration, and your sign-in or project token. After a run, one optional telemetry event with the covdbg version, the Windows version, run time, and exit code. Never source code, file names, or coverage data. The Data and Telemetry page lists every field.

We store your theme and cookie choices to remember your preferences. With your permission, Google Analytics and our self-hosted Matomo help us understand how this website is used.

You can change your choice using Cookie settings in the footer. Cookie policy · Privacy policy