See JDK-8208468. Although this CR was addressed by removing the println from the debuggee, it does not address the real problem. When a debuggee does a println, the output can be broken up and interspersed with multiple jdb output lines. As an example, taken from JDK-8208468, the debuggee was doing the following:
System.out.println("Arguments but no locals");
And the jdb output contained:
Sending command: cont
receiveReply: FAILED
reply[0]: > Argument
reply[1]: Breakpoint hit: s b"thread=main", nsk.jdb.locals.locals002.locals002a.allKindsOfLocals(), line=100 bci=62
reply[2]: ut n100 System.out.println("Locals but no arguments"); // locals002.BREAKPOINT_LINE2
reply[3]:
reply[4]: o lmain[1] ocals
Note in this case we were initially at a breakpoint set on the println, and when the user did a "cont", the output for hitting the next breakpoint got intermixed with the println. The odd thing is that it seems that this intermixing happens at the character level.
System.out.println("Arguments but no locals");
And the jdb output contained:
Sending command: cont
receiveReply: FAILED
reply[0]: > Argument
reply[1]: Breakpoint hit: s b"thread=main", nsk.jdb.locals.locals002.locals002a.allKindsOfLocals(), line=100 bci=62
reply[2]: ut n100 System.out.println("Locals but no arguments"); // locals002.BREAKPOINT_LINE2
reply[3]:
reply[4]: o lmain[1] ocals
Note in this case we were initially at a breakpoint set on the println, and when the user did a "cont", the output for hitting the next breakpoint got intermixed with the println. The odd thing is that it seems that this intermixing happens at the character level.
- relates to
-
JDK-8212626 Jdb needs to print all output related to a specific event in a single message
-
- Open
-
-
JDK-8208473 [TESTBUG] nsk/jdb/exclude/exclude001/exclude001.java is timing out on solaris-sparc again
-
- Resolved
-
-
JDK-8208468 [TESTBUG] nsk/jdb/locals/locals002: fails with "Prompt is not received during ... milliseconds"
-
- Resolved
-