How to Collect Thread Dumps in the DVT Eclipse IDE

Overview

We strive to optimize performance and memory consumption all the time. However it may happen that some actions take longer than expected, the UI gets laggy, or even frozen, either due to faulty algorithms or extrinsic problems such as slow file systems or buggy display stacks.

Follow the steps described in this video to help us quickly find the root cause and provide a fast fix.

This video was shot using DVT 20.1.41

Details

Overview

Thread Dumps can help us quickly troubleshoot and find the root cause of DVT slowdowns or freezes. They are in plain text format and do not contain any part of the project code or tool environment configuration.

Generating a Thread Dump

Let's suppose that an action takes longer than expected. To generate a Thread Dump:

  1. Go to Help > DVT Quick Help > Thread Dump Collector.
  2. Press the Start button.
  3. Trigger the problematic operation (e.g., saving a file or generating a diagram).
  4. When done, stop the collector from the same dialog.

The thread dump file is generated in the current project's root directory.

Reporting an Issue

Next, go to Help > DVT Quick Help > Report an Issue, or simply click the toolbar button. Common application logs and diagnostic files, including the thread dumps, are attached by default. You can preview any file using the magnifying glass icon.

Now fill in your contact information and press Send, or Save as Zip and manually send it over email to support@amiq.com.

When the UI Is Completely Frozen

Sometimes it may happen that the UI is completely frozen. In that case, you should:

  1. Open a terminal on the machine where DVT runs.
  2. Run the $DVT_HOME/bin/dvt_debug_utils.sh -jcmd_thread_dump script using the -workspace parameter to specify the current workspace location.

In this case, the thread dump is generated in the workspace directory and most likely needs to be compressed by hand prior to being sent over email.