DE

debug-with-valgrind

Automates memory debugging for Rust tests by integrating Valgrind with cargo-nextest profiles.

Install

mkdir -p .claude/skills/debug-with-valgrind && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/4604" && unzip -o skill.zip -d .claude/skills/debug-with-valgrind && rm skill.zip

Installs to .claude/skills/debug-with-valgrind

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Debug crashes, segfaults, and memory errors using valgrind integration with nextest through pre-configured profiles
115 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Run tests under Valgrind
  • Perform full leak checking
  • Integrate with nextest profiles

How it works

The skill uses a pre-configured nextest profile that wraps test execution with Valgrind to detect memory errors and leaks.

Inputs & outputs

You give it
Nextest test command with valgrind profile
You get back
Memory error and leak analysis

When to use debug-with-valgrind

  • Identify memory leaks in Rust tests
  • Diagnose segmentation faults
  • Verify memory safety in test suites

About this skill

Debugging with Valgrind + Nextest

When you encounter crashes, segfaults, or memory errors in tests, use valgrind for proper debugging.

Quick Usage

# Run a specific test under valgrind
cargo nextest run --profile valgrind -p PACKAGE --test TEST_FILE TEST_NAME

# Example
cargo nextest run --profile valgrind -p facet-format-json --test jit_deserialize test_jit_option_some

How It Works

The project has valgrind pre-configured in .config/nextest.toml:

  1. Wrapper script: Defined as [scripts.wrapper.valgrind]

    • Command: valgrind --leak-check=full --show-leak-kinds=all ...
    • Automatically wraps test execution
  2. Profile: [profile.valgrind] applies the wrapper to all tests on Linux

  3. Running: Use --profile valgrind flag with nextest

Benefits

  • Automatic setup - no manual valgrind commands needed
  • Proper configuration - leak checking, error codes pre-configured
  • Integrated - works with nextest filtering and test selection
  • Clean output - nextest captures and formats valgrind output

Don't Do This

❌ Running valgrind manually: valgrind ./target/debug/deps/test-binary ❌ Using raw --no-run + valgrind commands ❌ Playing hunt-the-segfault without proper tools

Do This Instead

✅ Use the pre-configured profile: cargo nextest run --profile valgrind <filters> ✅ Let nextest handle the wrapper script integration ✅ Get clean, actionable valgrind output immediately

Debugging Workflow

  1. Test crashes with SIGSEGV
  2. Run: cargo nextest run --profile valgrind -p PACKAGE --test FILE TEST_NAME
  3. Valgrind shows exact line where invalid read/write occurs
  4. Fix the bug
  5. Verify with regular tests

See Also

When not to use it

  • When Valgrind is not available on the host

Prerequisites

Linux environment

Limitations

  • Only works on Linux
  • Requires nextest configuration

How it compares

It provides an integrated, automated Valgrind workflow instead of manual command-line execution.

Compared to similar skills

debug-with-valgrind side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
debug-with-valgrind (this skill)27moReviewIntermediate
gen-rust16moReviewAdvanced
search-code24moReviewIntermediate
cts-triage14moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry