String (SuspendContextImpl suspendContext) { StringBuilder builder = new StringBuilder(JavaDebuggerBundle.message("status.line.breakpoint.reached.full.trace")); try { List<StackFrameItem> asyncStack = null; for (StackFrameProxyImpl frameProxy : suspendContext.getThread().forceFrames()) { Location location = frameProxy.location(); builder.append("\n\t").append(ThreadDumpAction.renderLocation(location)); if (Registry.is("debugger.log.async.stacks")) { if (asyncStack != null) { StreamEx.of(asyncStack).prepend((StackFrameItem)null).forEach(s -> { builder.append("\n\t"); if (s == null) { builder.append(" - ").append(StackFrameItem.getAsyncStacktraceMessage()); } else { builder.append(ThreadDumpAction.renderLocation(s.location())); } }); break; } asyncStack = AsyncStacksUtils.getAgentRelatedStack(frameProxy, suspendContext); } } } catch (EvaluateException e) { builder.append("Stacktrace not available: ").append(e.getMessage()); } return builder.toString(); }