Individual skill
valgrind
Use when running Valgrind Memcheck for heap errors, leaks, or uninitialised reads on an unmodified binary, or Cachegrind, Callgrind, or Massif profiling. Not for ASan builds: use sanitizers.
.devin/skills/valgrind/SKILL.md
Source commit b0e8ce89a19fac880251dc3ea1babfeb4503a4fe
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Instructions only
- Last checked
- Nov 4, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 55
- Repository last updated
- Sep 28, 2026
- License
- Apache-2.0
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- odd Repository topic
- odin Repository topic
- outline Repository topic
- outlines Repository topic
- coding-paradigm Repository topic
- outline-driven-development Repository topic
- claude-plugins Repository topic
- codex-cli Repository topic
- gemini-cli-extensions Repository topic
- outline-driven Repository topic
- engineering Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 8,435 bytesSKILL.mdcore · 8,435 bytesSKILL.mdcore · 8,435 bytesSKILL.mdcore · 8,435 bytesSKILL.mdcore · 8,435 bytesSKILL.mdcore · 8,435 bytesagents/openai.yamlasset · 215 bytesreferences/valgrind-vs-asan.mddoc · 1,971 bytes
Read excerpt
# Valgrind
Valgrind (current stable 3.27.1) runs an unmodified binary on a synthetic CPU and instruments every memory access. Four tools matter here: Memcheck finds memory errors and leaks, Cachegrind simulates the cache, Callgrind records exact call counts and inclusive costs, and Massif samples the heap over time. Nothing needs recompiling, so Valgrind is the tool when the build cannot be changed or when uninitialised-value tracking is the question.
## Contract
| Field | Bound contract |
|---|---|
| Trigger | A native program corrupts the heap, leaks, reads uninitialised memory, or needs cache, call-count, or heap-growth profiling, and the user cannot or does not want to rebuild with sanitizers. |
| Authority | Reversible local: writes only Valgrind output files (`cachegrind.out.*`, `callgrind.out.*`, `massif.out.*`, `--log-file` targets, suppression files) and the test binary in the working directory; rollback is deleting them. No remote mutation. |
| Side effect | Output files on disk. The program runs 10 to 50 times slower under Memcheck (Valgrind's own figure), so long workloads need trimming. |
| Done | Each reported error is classified with its source line, each leak record carries its kind, and the exit code reflects the error count when `--error-exitcode` is set. Profiling runs end with an annotated report naming the top functions or the peak heap snapshot. |
## Inputs