-
Notifications
You must be signed in to change notification settings - Fork 30.7k
Native Crash Issues
Benjamin Pasero edited this page Dec 12, 2017
·
25 revisions
This page documents how you can help us to track down native crash issues. It contains:
- How to get at the native crash information so that you can share it with us
The solutions are split across each operating system we support.
On macOS, application crashes can easily be looked at from the Console application.
- open Console application
- click on User Reports
- find the crash from Code
- attach it here
It should look something like this:
On Windows, you will need to install a program in order to collect more information when a crash occurs.
- download & install Debug Diagnostic Tools for Windows (pick the
DebugDiagx64.msi
option) - run
DebugDiag 2 Collection
- select to capture crash dumps:
- pick a specific process:
- pick the first
Code.exe
process (orCode - Insiders.exe
if you are on insiders).
- finish the wizard by stepping through without changing any option but note the directory that is picked to store dumps
- wait until the crash happens
- check for the contents of the crash folder (e.g.
C:\Program Files\DebugDiag\Logs\Crash rule for all instances of Code.exe
) - if the crash was recorded you should see a very large file (
*.dmp
) and a*_log.txt
file with the same process ID - attach the smaller
*_log.txt
file
On Linux we need to temporarily increase the limit for crash dumps. From a terminal:
- run
ulimit -c unlimited
- then start code from the terminal
- wait for the crash
- watch for a file called
core
produced in the current working directory
With the core dump in hand we can use gdb
to find out more about the crash:
- run
gdb <path to code binary> <path to core>
- from the GDB session type bt
- attach the output, you should see a full stacktrace like the one in the image below:
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