Страница:
Native Crash Issues
Страницы
Accessibility Guidelines
Adopting Multi Root Workspace APIs
Automated Issue Triaging
Build Champion
Build and run 32bit Code OSS on Windows
Code Editor Roadmap
Coding Guidelines
Color customization color id changes
Commit Signing
Community Issue Tracking
Contributor License Agreement
Cross Compiling for Debian Based Linux
Dealing with Test Flakiness
December Pre Release
December Test Plan
Design Goals
Development Process
Differences between the repository and Visual Studio Code
Editor decorations & colors
Explain extension causes high cpu load
Extension API guidelines
Extension API process
Feature Areas
Feedback Channels
File Watcher Internals
File Watcher Issues
Git & SCM Issues
Home
How to Contribute
IME Test
Insiders Release Notes
Interactive Window Documentation
Inventory of performance marks
Issue Grooming
Issue Tracking
Issues Triaging
Iteration Plans
Keybinding Issues
Known issues
Lists And Trees
Native Crash Issues
Notebook Smoke Test
Notebook documentation
Notebook layout
November Plan
Performance Issues (old)
Performance Issues
Pointer Device & Touch support
Publish vscode types
Related Projects
Release Process
Releasing vscode.dev
Removing Insiders
Roadmap 2017
Roadmap 2018
Roadmap 2019
Roadmap 2020
Roadmap
Roadmap‐2021‐2022
Running the Endgame
Sanity Check
Search Issues
Selfhosting on Windows WSL
Semantic Highlighting Overview
Setting Descriptions
Smoke Test
Source Code Organization
Submitting Bugs and Suggestions
Terminal Issues
TypeScript Issues
UX
VS Code Speech
Virtual Workspaces
Working Copies
Working with xterm.js
Writing Test Plan Items
Writing Tests
[DEV] Perf Tools for VS Code Development
[DEV] Programming advice and tips & tricks
[WIP] Code Editor Design Doc
[WIP] Design Checklist
[WIP] Design Principles
[dev perf] PerformanceError and unresponsive renderer telemetry
24
Native Crash Issues
Robo редактировал(а) эту страницу 2023-08-24 08:23:44 +09:00
Creating a crash report
VS Code supports a --crash-reporter-directory <absolute-path>
option that you can use to produce crash dumps into that folder. Please try this option first:
- Close all instances of VSCode.
- Run
code --crash-reporter-directory <absolute-path>
from the command line.- Run
code-insiders
instead ofcode
if the issue is occurring on the Insiders version.
- Run
- Take the steps that lead to the crash.
- Check for a
*.dmp
file in that folder. - Send the
*.dmp
file back to us, either by email, or by creating a zip archive containing it and attaching the zip to the GitHub issue.
If you can reproduce the issue running out of sources, meaning compiled from source (code-oss), then you might be able to symbolicate the crash dump (.dmp
file) as well. Otherwise, please wait for a maintainer to symbolicate your crash dump.
Symbolicating a crash dump (Steps for VS Code team members only)
A global install of electron-minidump is required for the following steps.
One can install electron-minidump globally using npm install -g electron-minidump
.
A macOS or Linux device is required.
- Run
electron-minidump crash-file.dmp > symbolicated-output.log
to generate or refresh the cache for electron-minidump. Check the symbolicated output to see which symbols are required, if any. For example, if the top of the crash output backtrace says "Electron Framework" but doesn't provide a method name after, then Electron Framework symbols are required. - Get the appropriate symbol files. Most likely, the crash comes from an Insiders or Stable version of Code. Those versions use an internal Electron, and symbol files for the internal Electron along with Insiders and Stable are available at microsoft/vscode-electron-prebuilt. Meanwhile, Code-OSS uses the OSS version of Electron, which has symbol files available at electron/electron.
- Unzip the downloaded symbol zip file, and after verifying folder hashes, copy over individual
.sym
files as needed to the correct subdirectory within the electron-minidump breakpad_symbols directory, which can be found at"$(npm root -g)/electron-minidump/cache/breakpad_symbols"
.- For example, let's say I unzip
insiders-symbols-v19.1.8-darwin-x64.zip
to~/insiders-symbols/
, and that in the unzipped directory, there is a folderElectron Framework
with a subfolder starting with the hash4C4C444
. After confirming in"$(npm root -g)/electron-minidump/cache/breakpad_symbols"
that there is also an Electron Framework directory there with an empty subdirectory starting with the same hash, I can runcp "~/insiders-symbols/Electron Framework/<hash>/Electron Framework.sym" "$(npm root -g)/electron-minidump/cache/breakpad_symbols/Electron Framework/<hash>"
.
- For example, let's say I unzip
- Run
electron-minidump crash-file.dmp > symbolicated-output.log
again. The crash output backtrace should now have method names attached.
Project Management
- Roadmap
- Iteration Plans
- Development Process
- Issue Tracking
- Build Champion
- Release Process
- Running the Endgame
- Related Projects
Contributing
- How to Contribute
- Submitting Bugs and Suggestions
- Feedback Channels
- Source Code Organization
- Coding Guidelines
- Testing
- Dealing with Test Flakiness
- Contributor License Agreement
- Extension API Guidelines
- Accessibility Guidelines
Documentation