VS Code Crash Dump Symbolicator
Turn native VS Code crash dumps into readable backtraces with method names.
The skill explicitly limits use to VS Code team members on macOS/Linux and discloses downloads from public symbol servers plus access to a private GitHub repository. Commands primarily read dumps, download symbols, and populate a local cache, with no obvious destructive default. Points are deducted because it does not require confirmation before network downloads or private-repository access, and it only lightly addresses sensitive data in crash dumps, data flows, credential isolation, and rollback.
The workflow is coherent across the initial pass, debug-ID matching, symbol copying, retry handling, and result interpretation, including missing symbols, transient network errors, runtime.node, and third-party modules. Points are deducted because this review is static and contains no executed key-path evidence; global installation, GitHub CLI, platform utilities, and cache layout are environment-dependent, while some failures still require user diagnosis.
Trigger conditions, inputs, expected output, and the team-member boundary are fairly clear, with an additional remote Linux/gdb path. Points are deducted because applicability depends on macOS/Linux, internal symbol permissions, and external npm/GitHub services; Windows users cannot run the stated tool directly, and Chinese-language guidance or mainland-China reachability alternatives are absent.
The document uses clear sections for prerequisites, procedure, result reading, dump creation, and tips, with commands, known symbol limitations, cache guidance, and MIT repository context. Points are deducted because electron-minidump is not version-pinned, and there is no skill-specific changelog, named maintenance owner, explicit update path, or fully declared dependency-management policy for the global install.
For an eligible VS Code team member with a matching dump, symbols, and permissions, the procedure can produce a method-annotated backtrace and guide module/process root-cause analysis; it also provides a useful fallback when symbols are unavailable. Points are deducted because static review cannot verify the actual output, symbol matching and private-repository access add manual cost, and many frames may remain identifiable only by module.
The skill supplies auditable commands, debug-ID directory structure, symbol archive naming, and interpretation rules, while repository context establishes Microsoft and MIT provenance. Points are deducted because there are no skill-specific committed tests, CI coverage, pinned dependencies, or third-party execution reports; evidence is primarily self-contained documentation and therefore limited.
- Crash dumps may contain paths, module names, and process information; review and redact them before sharing or uploading.
- Confirm network access, credential scope, and organizational authorization before global npm installation, symbol downloads, or private-repository access.
- The document requires macOS/Linux while including Windows symbol examples; Windows users need a supported host to process the dump.
- npm/GitHub services may be unreachable from mainland-China networks, and the skill provides no mirror, offline-package, or alternate-download path.
What it does & when to use it
This skill handles native VS Code crash dump files (`.dmp`) with electron-minidump and produces a readable, symbolicated backtrace. It identifies missing module symbols and guides users through obtaining and caching matching `.sym` files from the appropriate Electron release source. It is intended for VS Code team members and must run on macOS or Linux because electron-minidump does not run on Windows. It also helps determine whether the crash is associated with VS Code/Electron, an operating-system component, or injected third-party software by examining the crashing module and process.
Reads a .dmp file, runs electron-minidump crash-file.dmp, and writes the symbolicated output to a log; identifies modules whose frames lack method names; obtains symbol archives from microsoft/vscode-electron-prebuilt or electron/electron releases; copies .sym files with the exact required debug-id into electron-minidump's Breakpad cache; reruns symbolication; and interprets the top crashing frame, module, and process markers. For native crashes in a Linux remote extension host, it also provides a core-dump and gdb workflow.
- A VS Code team member has a native `.dmp` file and needs missing method names resolved.
- An Insiders or Stable build crashed and requires matching symbols from the internal Electron releases.
- A Code - OSS build crashed and needs symbols from the public electron/electron releases.
- A backtrace contains an antivirus, VPN, proxy, or shell-extension DLL and the investigator needs to assess third-party injection.
- An extension-host crash in modern Electron appears as a `node.mojom.NodeService` utility-process crash.
- A Linux remote server's extension host has a native crash that must be analyzed from a core dump with gdb.
Pros & cons
- Covers the full workflow from the first symbolication pass through symbol retrieval, debug-id matching, and verification.
- Handles both internal Electron symbols for Insiders/Stable and public Electron symbols for Code - OSS.
- Explains how module and process identity can reveal a likely injected third-party cause, not just missing method names.
- Documents transient download failures, symbol caching, and cases where public symbols are unavailable.
- Restricted to VS Code team members, with private-repository access required for Insiders/Stable symbols.
- Requires macOS or Linux; electron-minidump does not run on Windows.
- Symbols must match the dump's debug-id exactly; a same-version archive from another build pipeline may not work.
- runtime.node, operating-system modules, and third-party modules often have no public symbols, so not every frame can receive a method name.
- The README and skill file do not document single-skill installation for Agent clients or provide a test suite.
How to install
The repository README does not document how to install an individual skill into a specific Agent client. Before using this workflow, install electron-minidump globally on macOS or Linux:
npm install -g electron-minidump
For Insiders/Stable symbols, also use an authenticated GitHub CLI with access to microsoft/vscode-electron-prebuilt; verify this with gh auth status. The source repository containing this skill is licensed under MIT.
How to use
Example trigger: "Symbolicate this VS Code crash dump and identify the crashing module and process."
- Prepare a
.dmpfile. - Run
electron-minidump crash-file.dmp > symbolicated-output.log. - Inspect the top frames and note modules that lack method names; retry the command after transient download errors because successful downloads are cached.
- Select the symbol source based on the crashed build:
microsoft/vscode-electron-prebuiltfor Insiders/Stable, orelectron/electronfor Code - OSS. - Copy
.symfiles whose module and debug-id exactly match the cache into the corresponding directory under$(npm root -g)/electron-minidump/cache/breakpad_symbols. - Run
electron-minidump crash-file.dmp > symbolicated-output.logagain, then interpret the result using the top crashing frame, module name, and process markers.
If no dump exists, run code --crash-reporter-directory <absolute-path>; use code-insiders for Insiders, reproduce the crash, and look for a .dmp file in the specified directory.
Compared to similar skills
For local native VS Code .dmp files, this skill uses electron-minidump. For native crashes in a Linux remote extension host, the documented alternative is a core dump analyzed with gdb rather than electron-minidump.