Repository navigation
Conversation
eppleton
left a comment
There was a problem hiding this comment.
Thanks, linking the console message to the breakpoint customizer is a nice touch, and replacing the two reflective hacks with isThreadDeath() and evaluate(String, CallStackFrame) is a clear improvement. I built api.io, api.debugger.jpda, debugger.jpda and debugger.jpda.ui from 7b35b38 locally, and they compile.
I have one suggestion about what the hyperlink keeps alive, one question about the build.xml change, and a few small points inline.
| <target name="build-init" depends="projectized.build-init"> | ||
| <mkdir dir="${jpda.classes.dir}"/> | ||
| <copy todir="${jpda.classes.dir}"> | ||
| <copy todir="${jpda.classes.dir}" failonerror="false"> |
There was a problem hiding this comment.
Is failonerror="false" (here and in debugger.jpda/build.xml) related to this PR? These classes are put on cp.extra. If the copy fails, the build no longer stops here but fails later with package com.sun.jdi does not exist, or uses whatever JDI is on the boot classpath. If a particular JDK needs this, a comment saying which one would help.
There was a problem hiding this comment.
This is unrelated, should be probably removed, but important: without this change I cannot build the java/api.debugger.jpda & co. projects in the IDE - only from command line. I always have to make this change and then don't forget to revert it - which I apparently forgot this time.
| if (refValue instanceof ObjectVariable obj) { | ||
| io.printWithAction(" " + obj.getType() + " " + expression + " = ", null, false); | ||
| io.printWithAction("#" + obj.getUniqueID(), () -> { | ||
| var ok = BreakpointOutputDetails.showObjectVariable(debugger, obj); |
| import org.netbeans.spi.debugger.DebuggerServiceRegistration; | ||
| import org.openide.util.RequestProcessor; | ||
|
|
||
| @DebuggerServiceRegistration(path="netbeans-JPDASession", types=BreakpointOutputDetails.class) |
There was a problem hiding this comment.
- to address @eppleton suggestion...
suggestion about what the hyperlink keeps alive

Uh oh!
There was an error while loading. Please reload this page.