diff --git a/java/debugger/impl/src/com/intellij/debugger/jdi/ThreadReferenceProxyImpl.java b/java/debugger/impl/src/com/intellij/debugger/jdi/ThreadReferenceProxyImpl.java index 74b17865270d..c2ad3ddebb75 100644 --- a/java/debugger/impl/src/com/intellij/debugger/jdi/ThreadReferenceProxyImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/jdi/ThreadReferenceProxyImpl.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,6 +19,7 @@ */ package com.intellij.debugger.jdi; +import com.intellij.debugger.DebuggerBundle; import com.intellij.debugger.engine.DebuggerManagerThreadImpl; import com.intellij.debugger.engine.evaluation.EvaluateException; import com.intellij.debugger.engine.evaluation.EvaluateExceptionUtil; @@ -277,7 +278,10 @@ public final class ThreadReferenceProxyImpl extends ObjectReferenceProxyImpl imp catch (ObjectCollectedException ignored) { } catch (InternalException e) { - throw EvaluateExceptionUtil.createEvaluateException(e); + if (e.errorCode() == 32) { + throw EvaluateExceptionUtil.createEvaluateException(DebuggerBundle.message("drop.frame.error.no.information")); + } + else throw EvaluateExceptionUtil.createEvaluateException(e); } catch (IncompatibleThreadStateException e) { throw EvaluateExceptionUtil.createEvaluateException(e); diff --git a/resources-en/src/messages/DebuggerBundle.properties b/resources-en/src/messages/DebuggerBundle.properties index d83994ac84ee..1a476a4daabf 100644 --- a/resources-en/src/messages/DebuggerBundle.properties +++ b/resources-en/src/messages/DebuggerBundle.properties @@ -31,6 +31,7 @@ error.executing.finally=Error while executing finally blocks: {0} warning.finally.block.detected=Non-empty finally blocks detected: button.drop.anyway=Drop frame anyway button.execute.finally=Execute finally blocks and drop frame +drop.frame.error.no.information=Information about the frame is not available action.remove.watch.text={0,choice, 1#Remove Watch|2#Remove Watches} progress.evaluating=Evaluating {0} action.resume.thread.text.resume=Resume