Taking thread dumps

A thread dump contains information about what the application is doing at a particular point in time and how the application arrived in that state. For certain kinds of problems, a thread dump is the most important information to attach to a problem report. Examples of problems for which thread dumps are very useful are situations of hangings or slow performance and when unexpected dialogs appear.

To take a thread dump, use the tool called jstack which is part of the JDK. Redirect the output to a file.

jstack -l <pid> > <file>

Here is an example of what it could look like on Windows:

jstack -l 2148 > D:\temp\dump.txt

On Windows you can find the pid (process id) of Eclipse from the Details tab of the Task Manager.

For more information (including alternative procedures for getting a thread dump), see this page.