in src/main/java/com/intellij/rt/debugger/agent/CaptureStorage.java [440:456]
public static Map<Thread, String> getAllCapturedStacks(int limit) {
HashMap<Thread, String> threadToStacks = new HashMap<>();
if (storeAsyncStackTracesForAllThreads) {
for (Map.Entry<ConcurrentIdentityWeakHashMap.Key<Thread>, Deque<CapturedStack>> entry : THREAD_TO_STACKS_MAP.map.entrySet()) {
Thread thread = entry.getKey().get();
if (entry.getValue() == null || entry.getValue().isEmpty() || !thread.isAlive()) continue;
String capturedStack = wrapInString(entry.getValue().peekLast(), limit);
threadToStacks.put(thread, capturedStack);
}
} else {
Deque<CapturedStack> capturedStacks = CURRENT_STACKS.get();
if (capturedStacks != null) {
threadToStacks.put(Thread.currentThread(), wrapInString(capturedStacks.peekLast(), limit));
}
}
return threadToStacks;
}