annotate agent/src/share/classes/sun/jvm/hotspot/debugger/cdbg/DebugEvent.java @ 6763:fac3dd92ebaf

7195372: Wrong copyright in new files Summary: Fixed copyrights Reviewed-by: dholmes Contributed-by: Bill Pittore <bill.pittore@oracle.com>
author bpittore
date Wed, 19 Sep 2012 17:22:49 -0400
parents c18cbe5936b8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 /*
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
2 * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a61af66fc99e Initial load
duke
parents:
diff changeset
4 *
a61af66fc99e Initial load
duke
parents:
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
a61af66fc99e Initial load
duke
parents:
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
a61af66fc99e Initial load
duke
parents:
diff changeset
7 * published by the Free Software Foundation.
a61af66fc99e Initial load
duke
parents:
diff changeset
8 *
a61af66fc99e Initial load
duke
parents:
diff changeset
9 * This code is distributed in the hope that it will be useful, but WITHOUT
a61af66fc99e Initial load
duke
parents:
diff changeset
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a61af66fc99e Initial load
duke
parents:
diff changeset
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a61af66fc99e Initial load
duke
parents:
diff changeset
12 * version 2 for more details (a copy is included in the LICENSE file that
a61af66fc99e Initial load
duke
parents:
diff changeset
13 * accompanied this code).
a61af66fc99e Initial load
duke
parents:
diff changeset
14 *
a61af66fc99e Initial load
duke
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License version
a61af66fc99e Initial load
duke
parents:
diff changeset
16 * 2 along with this work; if not, write to the Free Software Foundation,
a61af66fc99e Initial load
duke
parents:
diff changeset
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a61af66fc99e Initial load
duke
parents:
diff changeset
18 *
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
20 * or visit www.oracle.com if you need additional information or have any
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
21 * questions.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
22 *
a61af66fc99e Initial load
duke
parents:
diff changeset
23 */
a61af66fc99e Initial load
duke
parents:
diff changeset
24
a61af66fc99e Initial load
duke
parents:
diff changeset
25 package sun.jvm.hotspot.debugger.cdbg;
a61af66fc99e Initial load
duke
parents:
diff changeset
26
a61af66fc99e Initial load
duke
parents:
diff changeset
27 import sun.jvm.hotspot.debugger.*;
a61af66fc99e Initial load
duke
parents:
diff changeset
28
a61af66fc99e Initial load
duke
parents:
diff changeset
29 /** Describes in an abstract sense the kind of debug events which may
a61af66fc99e Initial load
duke
parents:
diff changeset
30 be received from the target process. On UNIX platforms these are
a61af66fc99e Initial load
duke
parents:
diff changeset
31 typically signals intercepted via ptrace or some other mechanism,
a61af66fc99e Initial load
duke
parents:
diff changeset
32 while on Windows they are usually exceptions. Also describes
a61af66fc99e Initial load
duke
parents:
diff changeset
33 certain types of events like loading and unloading of DSOs/DLLs
a61af66fc99e Initial load
duke
parents:
diff changeset
34 ("LoadObjects"). */
a61af66fc99e Initial load
duke
parents:
diff changeset
35
a61af66fc99e Initial load
duke
parents:
diff changeset
36 public interface DebugEvent {
a61af66fc99e Initial load
duke
parents:
diff changeset
37 public static class Type {
a61af66fc99e Initial load
duke
parents:
diff changeset
38 private Type() {}
a61af66fc99e Initial load
duke
parents:
diff changeset
39 /** Indicates a DSO/DLL was loaded by the target process */
a61af66fc99e Initial load
duke
parents:
diff changeset
40 public static final Type LOADOBJECT_LOAD = new Type();
a61af66fc99e Initial load
duke
parents:
diff changeset
41 /** Indicates a DSO/DLL was unloaded by the target process */
a61af66fc99e Initial load
duke
parents:
diff changeset
42 public static final Type LOADOBJECT_UNLOAD = new Type();
a61af66fc99e Initial load
duke
parents:
diff changeset
43 /** Indicates a breakpoint was hit */
a61af66fc99e Initial load
duke
parents:
diff changeset
44 public static final Type BREAKPOINT = new Type();
a61af66fc99e Initial load
duke
parents:
diff changeset
45 /** Indicates a single machine instruction was stepped */
a61af66fc99e Initial load
duke
parents:
diff changeset
46 public static final Type SINGLE_STEP = new Type();
a61af66fc99e Initial load
duke
parents:
diff changeset
47 /** Indicates an unmapped memory address was read from or written
a61af66fc99e Initial load
duke
parents:
diff changeset
48 to by the target process */
a61af66fc99e Initial load
duke
parents:
diff changeset
49 public static final Type ACCESS_VIOLATION = new Type();
a61af66fc99e Initial load
duke
parents:
diff changeset
50 /** Indicates an event of an unknown type occurred in the target
a61af66fc99e Initial load
duke
parents:
diff changeset
51 process (catch-all for implementations; but add more event
a61af66fc99e Initial load
duke
parents:
diff changeset
52 types) */
a61af66fc99e Initial load
duke
parents:
diff changeset
53 public static final Type UNKNOWN = new Type();
a61af66fc99e Initial load
duke
parents:
diff changeset
54 }
a61af66fc99e Initial load
duke
parents:
diff changeset
55
a61af66fc99e Initial load
duke
parents:
diff changeset
56 /** The type of this debug event; BREAKPOINT, SINGLE_STEP, etc. */
a61af66fc99e Initial load
duke
parents:
diff changeset
57 public Type getType();
a61af66fc99e Initial load
duke
parents:
diff changeset
58
a61af66fc99e Initial load
duke
parents:
diff changeset
59 /** Retrieves the ThreadProxy for the thread on which the event
a61af66fc99e Initial load
duke
parents:
diff changeset
60 occurred. This is always present. */
a61af66fc99e Initial load
duke
parents:
diff changeset
61 public ThreadProxy getThread();
a61af66fc99e Initial load
duke
parents:
diff changeset
62
a61af66fc99e Initial load
duke
parents:
diff changeset
63 /** For BREAKPOINT, SINGLE_STEP, and ACCESS_VIOLATION events,
a61af66fc99e Initial load
duke
parents:
diff changeset
64 returns the program counter at which the event occurred. For
a61af66fc99e Initial load
duke
parents:
diff changeset
65 other types of events returns an undefined value. */
a61af66fc99e Initial load
duke
parents:
diff changeset
66 public Address getPC();
a61af66fc99e Initial load
duke
parents:
diff changeset
67
a61af66fc99e Initial load
duke
parents:
diff changeset
68 /** For ACCESS_VIOLATION events, indicates whether the fault
a61af66fc99e Initial load
duke
parents:
diff changeset
69 occurred on a write (vs. a read). For other types of events
a61af66fc99e Initial load
duke
parents:
diff changeset
70 returns an undefined value. */
a61af66fc99e Initial load
duke
parents:
diff changeset
71 public boolean getWasWrite();
a61af66fc99e Initial load
duke
parents:
diff changeset
72
a61af66fc99e Initial load
duke
parents:
diff changeset
73 /** For ACCESS_VIOLATION events, returns the address at which the
a61af66fc99e Initial load
duke
parents:
diff changeset
74 fault occurred. For LOADOBJECT_LOAD and LOADOBJECT_UNLOAD
a61af66fc99e Initial load
duke
parents:
diff changeset
75 events, returns the base address of the loadobject in the target
a61af66fc99e Initial load
duke
parents:
diff changeset
76 process's address space. For other types of events returns an
a61af66fc99e Initial load
duke
parents:
diff changeset
77 undefined value. */
a61af66fc99e Initial load
duke
parents:
diff changeset
78 public Address getAddress();
a61af66fc99e Initial load
duke
parents:
diff changeset
79
a61af66fc99e Initial load
duke
parents:
diff changeset
80 /** For UNKNOWN events, may return a detail message or may return
a61af66fc99e Initial load
duke
parents:
diff changeset
81 null. For other types of events returns an undefined value. */
a61af66fc99e Initial load
duke
parents:
diff changeset
82 public String getUnknownEventDetail();
a61af66fc99e Initial load
duke
parents:
diff changeset
83 }