Official agent skill

Windbg User Virtual Memory Exhaustion

by microsoft in microsoft/win-dev-skills

A skill your agent uses when a native app, service, or user-mode driver host allocation fails; distinguish VA exhaustion, fragmentation, and commit pressure.

OfficialMITAuto-check passed

Install Windbg User Virtual Memory Exhaustion

skills CLI
$ npx skills add microsoft/win-dev-skills --skill windbg-user-virtual-memory-exhaustion -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install microsoft/win-dev-skills windbg-user-virtual-memory-exhaustion --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/microsoft/win-dev-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/windbg/skills/windbg-user-virtual-memory-exhaustion .claude/skills/windbg-user-virtual-memory-exhaustion && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
windbg-user-virtual-memory-exhaustion
GitHub stars
465
Token cost
~1.3k tokens
SKILL.md length
527 words
Files
1
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when a native app, service, or user-mode driver host allocation fails; distinguish VA exhaustion, fragmentation, and commit pressure.

  • Works in 4 steps: Examine the process VA map → Separate pressure mechanisms → Identify dominant consumers → …
  • User-mode driver host allocation fails
  • SKILL.md covers Detection, Workflow, Fix patterns and Validation, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Windbg User Virtual Memory Exhaustion is an agent skill from microsoft/win-dev-skills, published by the product's own GitHub organization. Use when a native app, service, or user-mode driver host allocation fails; distinguish VA exhaustion, fragmentation, and commit pressure. Not for managed .NET heap growth, proving a leak from one snapshot, or corruption.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It works with .NET. The repository describes itself as: Agent plugins for building Windows apps with GitHub Copilot, Claude Code, OpenAI Codex, and more. The licence is MIT.

When your agent uses it

  • User-mode driver host allocation fails
  • Distinguish VA exhaustion
  • Commit pressure

Example prompts

  • “/windbg-user-virtual-memory-exhaustion”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Examine the process VA map
  2. Separate pressure mechanisms
  3. Identify dominant consumers
  4. Establish growth with history

What it can do on your machine

Read from SKILL.md and the folder at commit 5ce74fa. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • learn.microsoft.com
    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Windbg User Virtual Memory Exhaustion loads about 1.3k tokens when it runs. Until then it costs about 65 tokens; SKILL.md has 527 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~65
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from microsoft/win-dev-skills at commit 5ce74fa, republished under its MIT licence (© microsoft). 527 words, ~1,283 tokens.

Download SKILL.mdSave it as .claude/skills/windbg-user-virtual-memory-exhaustion/SKILL.md (or your agent's skills folder).
name
windbg-user-virtual-memory-exhaustion
description
Use when a native app, service, or user-mode driver host allocation fails; distinguish VA exhaustion, fragmentation, and commit pressure. Not for managed .NET heap growth, proving a leak from one snapshot, or corruption.

Virtual Memory Exhaustion

Load windbg-diagnostic-method first if it is not already loaded in this conversation, and apply it throughout for evidence ranking, hypothesis testing, confidence calibration, independent review, and report validation. This skill adds the bug-family-specific commands and evidence requirements.

Detection

Investigate E_OUTOFMEMORY (0x8007000E), STATUS_NO_MEMORY (0xC0000017), bad_alloc, or failed heap/virtual allocations in an application, service, or user-mode driver host (including UMDF). Record the actual API, requested size/alignment, architecture, flags, and error. Free physical RAM does not rule out insufficient virtual address space, commit pressure, or applicable limits.

Workflow

1. Examine the process VA map
text
!address -summary
!address
!heap -s

Compare available regions with the attempted allocation's contiguous range and alignment requirements. Distinguish reserved, committed, free, image, mapped, stack, and heap ranges. A large reservation consumes VA without committing its entire range. Heap internals may require more than the user's requested bytes.

Report unavailable pages/map data rather than inferring completeness from a limited dump.

2. Separate pressure mechanisms
MechanismEvidence needed
VA exhaustionProcess address range/architecture and little usable free VA
FragmentationFree space exists, but no suitable contiguous/aligned region
System commit pressureCommit usage/limit near the failure, not just free RAM
Process/job memory limitActual configured limit and relevant usage/accounting
Allocation policy/API failureAPI-specific constraints, flags, or allocator policy

Use contemporaneous system memory counters or an appropriate live/kernel session for system commit data. A process PEB is not a documented MaximumCommit source. A process's committed bytes alone do not establish a system-wide or job limit.

For 32-bit targets inspect /LARGEADDRESSAWARE and the host architecture; 2 GB versus up to 4 GB depends on those settings. Verify current documented limits for the target Windows version and architecture instead of applying one 64-bit limit to every system.

3. Identify dominant consumers
text
!address -f:Heap
!address -f:Stack
!heap -stat -h <heap-address>

Use !address -? and !heap -? for allocator/version-specific support. Classify dominant heaps, stacks, mappings, images, and reserved arenas. Large or numerous allocations are not automatically leaks: map them to cache policy, owners, workload, and expected lifetimes.

Show full SKILL.md (209 more words)Show less
4. Establish growth with history

Collect authorized time-series counters, repeated comparable snapshots, or allocation/free tracing across the workload. Compare warm-up with steady-state behavior and verify whether memory is reclaimed when work finishes.

One snapshot plus process uptime cannot prove a leak rate. For a suitable user-mode recording use windbg-user-ttd-reverse-debugging-triage; for damaged allocations use windbg-user-heap-corruption-investigation instead.

Fix patterns

  • Bound caches by an appropriate size/cost policy and verify eviction. Define the lifetime of any references returned before eviction.
  • Match VirtualAlloc reservations with the correct VirtualFree release contract; distinguish decommit from release.
  • Use RAII to release resources on all supported exit/error paths.
  • Reduce large contiguous allocation requirements where the design permits.
  • Do not blindly increase limits or stack reservations before finding the pressure source, and do not convert a failed allocation into a silent success.

Validation

Name the failing allocation and pressure mechanism, identify the consumer with evidence, and exercise the remedy through warm-up, sustained load, and cleanup. Verify memory remains bounded or the intended allocation succeeds under the required constraints. Document configured system/job limits separately.

References

Feedback

Follow FEEDBACK.md and submit reviewed, sanitized feedback to WinDbg-Feedback. Include windbg-user-virtual-memory-exhaustion and the package version from plugin.json; no automatic dump or memory-content upload.

© microsoft, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/windbg/skills/windbg-user-virtual-memory-exhaustion of microsoft/win-dev-skills.

Open the folder on GitHubat commit 5ce74fa

Compare with similar skills

Windbg User Virtual Memory Exhaustion next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Windbg User Virtual Memory Exhaustion compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Windbg User Virtual Memory Exhaustion this skillmicrosoft/win-dev-skills465—~1.3kAutomated safety check: PassMIT
Minimax DOCXpoco-ai/poco-claw1.4k7 repos~3.9kAutomated safety check: PassMIT
Microsoft Skill CreatorMicrosoftDocs/mcp1.9k3 repos~2.1kAutomated safety check: PassCC-BY-4.0
Speckit ConstitutionWeihanLi/WeihanLi.Common24211 repos~2.1kAutomated safety check: PassApache-2.0
Copilot Session Failure Analysisdotnet/maui23k—~3.4kAutomated safety check: PassMIT
Update .NET OS Packagesdotnet/core22k—~2.3kAutomated safety check: PassMIT

Similar skills

  • Minimax DOCX

    poco-ai/poco-claw

    Professional DOCX document creation, editing, and formatting using OpenXML SDK (.NET).

    1.4k GitHub starsUsed in 7 repos~3.9k tokens
    Documents & OfficeAuto-check passed
  • Microsoft Skill Creator

    MicrosoftDocs/mcp

    Official

    Create agent skills for Microsoft technologies using official documentation.

    1.9k GitHub starsUsed in 3 repos~2.1k tokens
    Agent WorkflowsAuto-check passed
  • Speckit Constitution

    WeihanLi/WeihanLi.Common

    Create or update the project constitution from interactive or provided principle inputs, ensuring all dependent templates stay in sync.

    242 GitHub starsUsed in 11 repos~2.1k tokens
    DevelopmentAuto-check passed
  • Mines local Copilot CLI session logs for dotnet/maui to rank costly or failing runs, tag recurring failure modes, propose repo edits and emit guard evals.

    23k GitHub stars~3.4k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Official

    Audits and updates os-packages.json files listing the Linux packages each .NET release needs per distro, then regenerates the Markdown from the JSON.

    22k GitHub stars~2.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Microsoft Code Reference

    MicrosoftDocs/mcp

    Official

    Find working code samples, verify API signatures, and fix Microsoft SDK errors using official docs.

    1.9k GitHub starsUsed in 3 repos~1.1k tokens
    DevelopmentAuto-check passed

More from microsoft/win-dev-skills

All 11 skills in this repo
  • Windbg Diagnostic Method

    microsoft/win-dev-skills

    Official

    Use with every WinDbg plugin investigation to apply evidence-first reasoning, confidence calibration, contrarian review, structured reporting, and deterministic validation.

    465 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Windbg Kernel Bugcheck Triage

    microsoft/win-dev-skills

    Official

    A skill your agent uses when a kernel dump reports a Windows bugcheck; decode parameters and recover exception or trap context before investigating your driver.

    465 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Windbg Kernel Irp Lifecycle Triage

    microsoft/win-dev-skills

    Official

    A skill your agent uses when kernel evidence shows stalled I/O, a power IRP, or completion/cancellation misuse; inspect request state and driver ownership.

    465 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Windbg Kernel Lock Deadlock Triage

    microsoft/win-dev-skills

    Official

    A skill your agent uses when kernel threads block on driver synchronization or Verifier reports a lock-order violation; build an owner/waiter graph.

    465 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Windbg Kernel Verifier Triage

    microsoft/win-dev-skills

    Official

    A skill your agent uses when a kernel dump contains Driver Verifier violations; inspect flags, bugcheck subcodes, and available I/O shadow state.

    465 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Windbg User Exception Triage

    microsoft/win-dev-skills

    Official

    A skill your agent uses when a native C/C++ app, service, or user-mode driver host (including UMDF) crashes with a structured exception in a dump or WinDbg session, including native faults inside…

    465 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Windbg User Virtual Memory Exhaustion

What does Windbg User Virtual Memory Exhaustion do?

A skill your agent uses when a native app, service, or user-mode driver host allocation fails; distinguish VA exhaustion, fragmentation, and commit pressure. Windbg User Virtual Memory Exhaustion is an agent skill from microsoft/win-dev-skills, published by the product's own GitHub organization. Use when a native app, service, or user-mode driver host allocation fails; distinguish VA exhaustion, fragmentation, and commit pressure.

When should I use Windbg User Virtual Memory Exhaustion?

Windbg User Virtual Memory Exhaustion fits situations like: user-mode driver host allocation fails; distinguish VA exhaustion; commit pressure.

How do I install Windbg User Virtual Memory Exhaustion in Claude Code?

Run `npx skills add microsoft/win-dev-skills --skill windbg-user-virtual-memory-exhaustion -a claude-code`. Or copy the skill folder (plugins/windbg/skills/windbg-user-virtual-memory-exhaustion in microsoft/win-dev-skills) into .claude/skills/windbg-user-virtual-memory-exhaustion in your project. Claude Code loads it when a task matches its description.

How do I install Windbg User Virtual Memory Exhaustion in Codex?

Run `npx skills add microsoft/win-dev-skills --skill windbg-user-virtual-memory-exhaustion -a codex`. Or copy the skill folder (plugins/windbg/skills/windbg-user-virtual-memory-exhaustion in microsoft/win-dev-skills) into .agents/skills/windbg-user-virtual-memory-exhaustion in your project. Codex loads it when a task matches its description.

Can I use Windbg User Virtual Memory Exhaustion in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add microsoft/win-dev-skills --skill windbg-user-virtual-memory-exhaustion -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/windbg-user-virtual-memory-exhaustion, .gemini/skills/windbg-user-virtual-memory-exhaustion, .github/skills/windbg-user-virtual-memory-exhaustion and .opencode/skills/windbg-user-virtual-memory-exhaustion in your project.

What does Windbg User Virtual Memory Exhaustion need to run?

SKILL.md names no scripts, command-line tools or credentials: Windbg User Virtual Memory Exhaustion is instructions for the agent only.

Does Windbg User Virtual Memory Exhaustion access the network?

SKILL.md names 2 domains. As links in the text: learn.microsoft.com and github.com. This is read from the text; nothing was executed.

Is Windbg User Virtual Memory Exhaustion safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Windbg User Virtual Memory Exhaustion use?

Windbg User Virtual Memory Exhaustion is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Windbg User Virtual Memory Exhaustion use?

About 1.3k tokens (SKILL.md is roughly 5.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Windbg User Virtual Memory Exhaustion?

Skills that share tags, products or a category with Windbg User Virtual Memory Exhaustion: Minimax DOCX (poco-ai/poco-claw, 1.4k stars), Microsoft Skill Creator (MicrosoftDocs/mcp, 1.9k stars), Speckit Constitution (WeihanLi/WeihanLi.Common, 242 stars) and Copilot Session Failure Analysis (dotnet/maui, 23k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Windbg User Virtual Memory Exhaustion?

microsoft (a GitHub organization, an official publisher) maintains it in microsoft/win-dev-skills, which has 465 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 7, 2026.

Source: microsoft/win-dev-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.