Skip to content

Commit 58d817d

Browse files
committed
* Fix an uncaught exception bug.
1 parent e2269f8 commit 58d817d

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

adapter/src/main/kotlin/org/javacs/ktda/jdi/JDIDebuggee.kt

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import com.sun.jdi.VirtualMachine
2020
import com.sun.jdi.VMDisconnectedException
2121
import com.sun.jdi.event.ClassPrepareEvent
2222
import com.sun.jdi.request.EventRequest
23+
import com.sun.jdi.AbsentInformationException
2324
import java.io.File
2425
import java.io.InputStream
2526
import java.io.OutputStream
@@ -117,18 +118,23 @@ class JDIDebuggee(
117118

118119
/** Tries to set a breakpoint - Will return whether this was successful */
119120
private fun setBreakpointAtType(refType: ReferenceType, lineNumber: Long): Boolean {
120-
val location = refType
121-
.locationsOfLine(lineNumber.toInt())
122-
?.firstOrNull() ?: return false
123-
val request = vm.eventRequestManager()
124-
.createBreakpointRequest(location)
125-
request?.let {
126-
it.enable()
121+
try {
122+
val location = refType
123+
.locationsOfLine(lineNumber.toInt())
124+
?.firstOrNull() ?: return false
125+
val request = vm.eventRequestManager()
126+
.createBreakpointRequest(location)
127+
request?.let {
128+
it.enable()
129+
}
130+
return request != null
131+
} catch (e: AbsentInformationException) {
132+
// Ignore exception.
133+
return true
127134
}
128-
return request != null
129135
}
130136

131-
open fun resumeVm() {
137+
fun resumeVm() {
132138
vm.resume()
133139
}
134140

0 commit comments

Comments
 (0)