diff --git a/idea/jvm-debugger/jvm-debugger-evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinEvaluatorBuilder.kt b/idea/jvm-debugger/jvm-debugger-evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinEvaluatorBuilder.kt index 01000bc020c..338605c5b53 100644 --- a/idea/jvm-debugger/jvm-debugger-evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinEvaluatorBuilder.kt +++ b/idea/jvm-debugger/jvm-debugger-evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/KotlinEvaluatorBuilder.kt @@ -128,9 +128,14 @@ class KotlinEvaluator(val codeFragment: KtCodeFragment, val sourcePosition: Sour } } + if (!context.debugProcess.isAttached) { + status.error(EvaluationError.DebuggerNotAttached) + throw EvaluateExceptionUtil.PROCESS_EXITED + } + val frameProxy = context.frameProxy ?: run { status.error(EvaluationError.NoFrameProxy) - evaluationException("Cannot evaluate a code fragment: frame proxy is not available") + throw EvaluateExceptionUtil.NULL_STACK_FRAME } val operatingThread = context.suspendContext.thread ?: run { diff --git a/idea/jvm-debugger/jvm-debugger-evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/evaluate/EvaluationStatus.kt b/idea/jvm-debugger/jvm-debugger-evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/evaluate/EvaluationStatus.kt index 2108a069a55..74c9a906d30 100644 --- a/idea/jvm-debugger/jvm-debugger-evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/evaluate/EvaluationStatus.kt +++ b/idea/jvm-debugger/jvm-debugger-evaluation/src/org/jetbrains/kotlin/idea/debugger/evaluate/evaluate/EvaluationStatus.kt @@ -51,6 +51,7 @@ class EvaluationStatus { } enum class EvaluationError { + DebuggerNotAttached, NoFrameProxy, ThreadNotAvailable, ThreadNotSuspended,