Collect an ETL trace with PerfView and create minidumps with all call stacks

When you report a problem with Visual Studio, the Microsoft product team might ask for an ETL trace or minidumps to collect additional information for troubleshooting. Use the following steps to collect an ETL trace or to create minidumps for all call stacks.

Collect an ETL trace with PerfView

PerfView is a tool that creates ETL (event trace log) files based on Event Tracing for Windows that can be useful in troubleshooting some kinds of issues with Visual Studio. Occasionally when you report a problem, the product team might ask you to run PerfView to collect additional information.

Install PerfView

Download PerfView from GitHub.

Run PerfView

  1. Right-click on PerfView.exe in Windows Explorer and choose Run as administrator as admin.
  2. On the Collect menu, choose Collect.
  3. Check Zip, Merge, and ThreadTime.
  4. Increase Circular MB to 1000.
  5. Change Current Dir to save ETL traces to a specified folder and Data File if you are going to collect more than once.
  6. To start recording data, choose the Start Collection button.
  7. To stop recording data, choose the Stop Collection button. The PrefView.etl.zip file will be saved in the specified directory.

PerfView can store only the most recent data that fits into its buffer. Therefore, try to stop the collection as soon as possible after Visual Studio starts to freeze or slow down. Don't collect for more than 30 seconds after you hit a problem.

Create minidumps for a Visual Studio process with all call stacks

In some cases, Microsoft might ask for a minidump of a running Visual Studio process with information for all call stacks. To collect this information, perform these steps:

Create the minidump file

  1. Start a new instance of Visual Studio.

  2. From the main menu, choose Debug > Attach To Process.

  3. Choose Select, and then select the relevant Managed and Native check boxes and choose OK.

    Screenshot showing the codes types selected in the Attach To Process dialog.

    Screenshot showing the codes types selected in the Attach To Process dialog.

  4. Select the other Visual Studio instance to attach to from the list of running processes, and then choose Attach.

  5. From the main menu, choose Debug > Break All.

  6. From the main menu, choose Debug > Save Dump As.

Get the call stacks from the minidump

  1. Open the dump file in Visual Studio.
  2. Go to Tools > Options > Debugging > Symbols and make sure that Microsoft Symbol Servers is checked in the Symbol file (.pdb) locations.
  3. Open the Command window (View > Other Windows > Command Window).
  4. Type ‘~*k’. The window displays all threads' call stacks.
  5. Copy all text from Command Window and save to a text file.
  6. Attach the txt file to the bug.