void (@NotNull AnActionEvent e) { final Project project = e.getProject(); if (project == null) { return; } DebuggerContextImpl context = (DebuggerManagerEx.getInstanceEx(project)).getContext(); final DebuggerSession session = context.getDebuggerSession(); if (session != null && session.isAttached()) { final DebugProcessImpl process = context.getDebugProcess(); if (process != null) { process.getManagerThread().invoke(new DebuggerCommandImpl() { @Override protected void action() { final List<ThreadState> threads = ThreadDumpAction.buildThreadStates(process.getVirtualMachineProxy()); ApplicationManager.getApplication().invokeLater(() -> ExportToFileUtil.chooseFileAndExport(project, ThreadDumpPanel.createToFileExporter(project, threads)), ModalityState.nonModal()); } }); } } }