annotate agent/test/jdi/README.jjh @ 1359:23b1b27ac76c

6909756: G1: guarantee(G1CollectedHeap::heap()->mark_in_progress(),"Precondition.") Summary: Make sure that two marking cycles do not overlap, i.e., a new one can only start after the concurrent marking thread finishes all its work. In the fix I piggy-back a couple of minor extra fixes: some general code reformatting for consistency (only around the code I modified), the removal of a field (G1CollectorPolicy::_should_initiate_conc_mark) which doesn't seem to be used at all (it's only set but never read), as well as moving the "is GC locker active" test earlier into the G1 pause / Full GC and using a more appropriate method for it. Reviewed-by: johnc, jmasa, jcoomes, ysr
author tonyp
date Tue, 06 Apr 2010 10:59:45 -0400
parents a61af66fc99e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1
a61af66fc99e Initial load
duke
parents:
diff changeset
2 This dir contains a test for the JDI-SA implementation.
a61af66fc99e Initial load
duke
parents:
diff changeset
3
a61af66fc99e Initial load
duke
parents:
diff changeset
4 sagtest.java, sagtarg.java are a normal JDI regression test
a61af66fc99e Initial load
duke
parents:
diff changeset
5 that uses TargetAdapter.java, TargetListener.java, TestScaffold.java,
a61af66fc99e Initial load
duke
parents:
diff changeset
6 and VMConnection.java.
a61af66fc99e Initial load
duke
parents:
diff changeset
7
a61af66fc99e Initial load
duke
parents:
diff changeset
8 This test starts the debuggee, sagtarg.java, which just does a wait.
a61af66fc99e Initial load
duke
parents:
diff changeset
9 The test then calls sagdoit.java which calls all the JDJI interface
a61af66fc99e Initial load
duke
parents:
diff changeset
10 functions. Well, it doesn't call them all yet, but that is the plan.
a61af66fc99e Initial load
duke
parents:
diff changeset
11 At least all that are interesting to the JDI-SA client. The result of
a61af66fc99e Initial load
duke
parents:
diff changeset
12 each call is sent to stdout
a61af66fc99e Initial load
duke
parents:
diff changeset
13
a61af66fc99e Initial load
duke
parents:
diff changeset
14 The script runjpda.sh runs this test. It then runs the targ part of
a61af66fc99e Initial load
duke
parents:
diff changeset
15 the test and calls gcore on it to get a core dump into file sagcore.
a61af66fc99e Initial load
duke
parents:
diff changeset
16 Do
a61af66fc99e Initial load
duke
parents:
diff changeset
17 runjpda.sh >& kk
a61af66fc99e Initial load
duke
parents:
diff changeset
18
a61af66fc99e Initial load
duke
parents:
diff changeset
19 to run this.
a61af66fc99e Initial load
duke
parents:
diff changeset
20
a61af66fc99e Initial load
duke
parents:
diff changeset
21 NOTE that this produces 1000s of lines of output
a61af66fc99e Initial load
duke
parents:
diff changeset
22 so be sure to redirect to a file.
a61af66fc99e Initial load
duke
parents:
diff changeset
23
a61af66fc99e Initial load
duke
parents:
diff changeset
24 File sagclient.java is a test program that uses the JDI-SA
a61af66fc99e Initial load
duke
parents:
diff changeset
25 client to connect to a core file or pid and then calls sagdoit
a61af66fc99e Initial load
duke
parents:
diff changeset
26 which calls the JDI methods.
a61af66fc99e Initial load
duke
parents:
diff changeset
27
a61af66fc99e Initial load
duke
parents:
diff changeset
28 The script runsa.sh can be used to run sagclient on sagcore:
a61af66fc99e Initial load
duke
parents:
diff changeset
29 runsa.sh sagcore >& kk1
a61af66fc99e Initial load
duke
parents:
diff changeset
30
a61af66fc99e Initial load
duke
parents:
diff changeset
31 You can then look at the differences between the runjpda.sh
a61af66fc99e Initial load
duke
parents:
diff changeset
32 and the runsa.sh run to see if there are bugs. Note that the
a61af66fc99e Initial load
duke
parents:
diff changeset
33 order of things might be different.
a61af66fc99e Initial load
duke
parents:
diff changeset
34
a61af66fc99e Initial load
duke
parents:
diff changeset
35
a61af66fc99e Initial load
duke
parents:
diff changeset
36 -----------------------------------------
a61af66fc99e Initial load
duke
parents:
diff changeset
37
a61af66fc99e Initial load
duke
parents:
diff changeset
38 runjdb.sh contains a script that will run jdb on a core file
a61af66fc99e Initial load
duke
parents:
diff changeset
39 using the JDI-sa binding.