From d93eb2f60664e1adf90b3e5c252b333a89f8a6df Mon Sep 17 00:00:00 2001 From: Elizaveta Shashkova Date: Mon, 7 Aug 2017 15:57:02 +0300 Subject: [PATCH] Syntax error "del __py_debug_temp_*" while stopping debugger (PY-25384, EA-103359) Sometimes debugger changes frame faster than the new command is sent and deleting our util variable produces exception visible for user. We should wrap it with try-except block. --- .../com/jetbrains/python/debugger/pydev/RemoteDebugger.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/pydevSrc/com/jetbrains/python/debugger/pydev/RemoteDebugger.java b/python/pydevSrc/com/jetbrains/python/debugger/pydev/RemoteDebugger.java index 010d369d9645..50f477ba8016 100644 --- a/python/pydevSrc/com/jetbrains/python/debugger/pydev/RemoteDebugger.java +++ b/python/pydevSrc/com/jetbrains/python/debugger/pydev/RemoteDebugger.java @@ -262,8 +262,9 @@ public class RemoteDebugger implements ProcessDebugger { if (frameVars == null || frameVars.size() == 0) continue; final String expression = "del " + StringUtil.join(frameVars, ","); + final String wrappedExpression = String.format("try:\n %s\nexcept:\n pass", expression); try { - evaluate(threadId, entry.getKey(), expression, true); + evaluate(threadId, entry.getKey(), wrappedExpression, true); } catch (PyDebuggerException e) { LOG.error(e);