19package org.sleuthkit.autopsy.actions;
21import org.sleuthkit.autopsy.coreutils.Desktop;
22import java.awt.event.ActionListener;
23import java.io.BufferedWriter;
25import java.io.FileWriter;
26import java.io.IOException;
27import java.nio.file.Path;
28import java.nio.file.Paths;
29import java.util.concurrent.ExecutionException;
30import java.util.logging.Level;
31import javax.swing.SwingWorker;
32import org.openide.awt.ActionID;
33import org.openide.awt.ActionReference;
34import org.openide.awt.ActionRegistration;
35import org.openide.util.HelpCtx;
36import org.openide.util.NbBundle.Messages;
37import org.openide.util.actions.CallableSystemAction;
38import org.sleuthkit.autopsy.casemodule.Case;
39import org.sleuthkit.autopsy.coreutils.Logger;
40import org.sleuthkit.autopsy.coreutils.PlatformUtil;
41import org.sleuthkit.autopsy.coreutils.ThreadUtils;
42import org.sleuthkit.autopsy.coreutils.TimeStampUtils;
49@ActionID(category =
"Help",
id =
"org.sleuthkit.autopsy.actions.ThreadDumpAction")
50@ActionRegistration(displayName =
"#CTL_DumpThreadAction", lazy =
false)
51@ActionReference(path =
"Menu/Help", position = 1750)
53 "CTL_DumpThreadAction=Thread Dump"
55public final class ThreadDumpAction extends CallableSystemAction implements ActionListener {
67 return Bundle.CTL_DumpThreadAction();
72 return HelpCtx.DEFAULT_HELP;
92 }
catch (ExecutionException | InterruptedException ex) {
93 logger.log(Level.SEVERE,
"Failure occurred while creating thread dump file", ex);
94 }
catch (IOException ex) {
95 if (dumpFile !=
null) {
96 logger.log(Level.WARNING,
"Failed to open thread dump file in external viewer: " + dumpFile.getAbsolutePath(), ex);
98 logger.log(Level.SEVERE,
"Failed to create thread dump file.", ex);
114 try (BufferedWriter writer =
new BufferedWriter(
new FileWriter(dumpFile,
true))) {
115 writer.write(threadDump);
static final Logger logger
static final long serialVersionUID
String getLogDirectoryPath()
static Case getCurrentCase()
static boolean isCaseOpen()
static Desktop getDesktop()
synchronized static Logger getLogger(String name)
static String generateThreadDump()
static String createTimeStamp()