diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/CompoundPositionManager.java b/java/debugger/impl/src/com/intellij/debugger/engine/CompoundPositionManager.java index 67f1e7b73cfd..68ee9f2c92f4 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/CompoundPositionManager.java +++ b/java/debugger/impl/src/com/intellij/debugger/engine/CompoundPositionManager.java @@ -54,6 +54,10 @@ public class CompoundPositionManager extends PositionManagerEx implements MultiR public void appendPositionManager(PositionManager manager) { myPositionManagers.remove(manager); myPositionManagers.add(0, manager); + clearCache(); + } + + public void clearCache() { mySourcePositionCache.clear(); } diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/ReloadClassesWorker.java b/java/debugger/impl/src/com/intellij/debugger/impl/ReloadClassesWorker.java index b3a3cd01416f..319d1e781988 100644 --- a/java/debugger/impl/src/com/intellij/debugger/impl/ReloadClassesWorker.java +++ b/java/debugger/impl/src/com/intellij/debugger/impl/ReloadClassesWorker.java @@ -168,6 +168,8 @@ class ReloadClassesWorker { processException(e); } + debugProcess.getPositionManager().clearCache(); + DebuggerContextImpl context = myDebuggerSession.getContextManager().getContext(); SuspendContextImpl suspendContext = context.getSuspendContext(); if (suspendContext != null) {