diff options
author | Tor Norbye <tnorbye@google.com> | 2014-08-20 17:01:23 -0700 |
---|---|---|
committer | Tor Norbye <tnorbye@google.com> | 2014-08-20 17:01:23 -0700 |
commit | 1aa2e09bdbd413eacb677e9fa4b50630530d0656 (patch) | |
tree | 2f4cc6d69645bd460aa253fdecb606d764fbd25d /python/pydevSrc/com | |
parent | 02cf98d65c798d368fcec43ed64a001d513bdd4f (diff) | |
download | idea-1aa2e09bdbd413eacb677e9fa4b50630530d0656.tar.gz |
Snapshot idea/138.1696 from git://git.jetbrains.org/idea/community.git
Change-Id: I50c97b83a815ce635e49a38380ba5b8765e4b16a
Diffstat (limited to 'python/pydevSrc/com')
-rw-r--r-- | python/pydevSrc/com/jetbrains/python/debugger/pydev/RemoteDebugger.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/python/pydevSrc/com/jetbrains/python/debugger/pydev/RemoteDebugger.java b/python/pydevSrc/com/jetbrains/python/debugger/pydev/RemoteDebugger.java index 9e347e0e5d7b..5f962b259142 100644 --- a/python/pydevSrc/com/jetbrains/python/debugger/pydev/RemoteDebugger.java +++ b/python/pydevSrc/com/jetbrains/python/debugger/pydev/RemoteDebugger.java @@ -5,9 +5,11 @@ */ package com.jetbrains.python.debugger.pydev; +import com.google.common.collect.Maps; import com.intellij.execution.ui.ConsoleViewContentType; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.TimeoutUtil; @@ -54,6 +56,8 @@ public class RemoteDebugger implements ProcessDebugger { private final Map<Integer, ProtocolFrame> myResponseQueue = new HashMap<Integer, ProtocolFrame>(); private final TempVarsHolder myTempVars = new TempVarsHolder(); + private Map<Pair<String, Integer>, String> myTempBreakpoints = Maps.newHashMap(); + private final List<RemoteDebuggerCloseListener> myCloseListeners = ContainerUtil.createLockFreeCopyOnWriteList(); private DebuggerReader myDebuggerReader; @@ -383,12 +387,18 @@ public class RemoteDebugger implements ProcessDebugger { final SetBreakpointCommand command = new SetBreakpointCommand(this, type, file, line); execute(command); // set temp. breakpoint + myTempBreakpoints.put(Pair.create(file, line), type); } @Override public void removeTempBreakpoint(String file, int line) { - final RemoveBreakpointCommand command = new RemoveBreakpointCommand(this, "all", file, line); - execute(command); // remove temp. breakpoint + String type = myTempBreakpoints.get(Pair.create(file, line)); + if (type != null) { + final RemoveBreakpointCommand command = new RemoveBreakpointCommand(this, type, file, line); + execute(command); // remove temp. breakpoint + } else { + LOG.error("Temp breakpoint not found for " + file + ":" + line); + } } @Override |