From what I can see, jdb.stdout, jdb.session, and the .jtr file all contain both the jdb output and the debuggee output. I didn't find a file that contained just the debuggee output. Have you noticed differently?

Chris


On 9/12/18 1:51 PM, Alex Menkov wrote:
+1 for the fix as a temporary workaround.
Actually that's look a bit strange as debuggee output is redirected.
So I'd expected it does not go through jdb log, and it should appear in the test log with "debuggee.stdout>" prefix.

-alex

On 09/12/2018 12:35, Chris Plummer wrote:
Looks good. I filed JDK-8210668 to address to root issue.

Chris

On 9/12/18 7:27 AM, Gary Adams wrote:
The print statements in the locals002 test have been observed to interfere with the output from commands, replies and prompts used in the synchronization of operations between the debugger and debuggee. This change will remove the print statements. A follow up bug will be filed for longer term investigation of the character at a time output which leaves a larger window for the output interruption
that occurs.

  Issue: https://bugs.openjdk.java.net/browse/JDK-8208468

Proposed update:

diff --git a/test/hotspot/jtreg/vmTestbase/nsk/jdb/locals/locals002/locals002a.java b/test/hotspot/jtreg/vmTestbase/nsk/jdb/locals/locals002/locals002a.java --- a/test/hotspot/jtreg/vmTestbase/nsk/jdb/locals/locals002/locals002a.java +++ b/test/hotspot/jtreg/vmTestbase/nsk/jdb/locals/locals002/locals002a.java
@@ -81,7 +81,7 @@
        int[]   arrVar
                               )
    {
-       System.out.println("Arguments but no locals"); // locals002.BREAKPOINT_LINE1
+       int x = 3; // locals002.BREAKPOINT_LINE1
    }

    static void allKindsOfLocals()  {
@@ -97,6 +97,6 @@
        int[]   arrVar    = new int[5];

        for (int j = 0; j < 5 ; j++) arrVar[j] = j;
-       System.out.println("Locals but no arguments"); // locals002.BREAKPOINT_LINE2
+       int x = 4; // locals002.BREAKPOINT_LINE2
    }
 }




Reply via email to