Visitar URL original
covdbg - C++ Code Coverage for Windows and AI Workflows
New in 1.5.1: Fail the CI step with your tests

C++ coverage for Windows and AI workflows

See which C++ code your tests cover.

covdbg is C++ code coverage for Windows. It measures the binary you already build, with its PDB, for developers and AI agents. 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, ARM64 or 32-bit x86 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 Cobertura, 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. A CLion plugin shows the same coverage in CLion's own coverage view.

  • 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, convert the result to LCOV or Cobertura, and upload it to Codecov or your own quality gate. A public repository on GitHub Actions needs no token at all: grant the job id-token: write. Elsewhere a project 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, and switch your private repository whenever you like at app.covdbg.com. A public repository on GitHub Actions needs no secret; other CI uses a project token.

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, and public CI, with no secret on GitHub Actions
  • Cobertura, 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, ARM64 or 32-bit x86 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, and a public repository on GitHub Actions needs none: covdbg presents the job's own GitHub workflow token. 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, project token, or the job's GitHub workflow 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.