annotate agent/src/os/solaris/dbx/README-commands.txt @ 1662:e0ba4e04c839

6969574: invokedynamic call sites deoptimize instead of executing Reviewed-by: kvn
author jrose
date Fri, 16 Jul 2010 18:14:19 -0700
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 This import module uses a largely text-based protocol, except for
a61af66fc99e Initial load
duke
parents:
diff changeset
2 certain bulk data transfer operations. All text is in single-byte
a61af66fc99e Initial load
duke
parents:
diff changeset
3 US-ASCII.
a61af66fc99e Initial load
duke
parents:
diff changeset
4
a61af66fc99e Initial load
duke
parents:
diff changeset
5 Commands understood:
a61af66fc99e Initial load
duke
parents:
diff changeset
6
a61af66fc99e Initial load
duke
parents:
diff changeset
7 address_size ::= <int result>
a61af66fc99e Initial load
duke
parents:
diff changeset
8
a61af66fc99e Initial load
duke
parents:
diff changeset
9 Returns 32 if attached to 32-bit process, 64 if 64-bit.
a61af66fc99e Initial load
duke
parents:
diff changeset
10
a61af66fc99e Initial load
duke
parents:
diff changeset
11 peek_fail_fast <bool arg> ::=
a61af66fc99e Initial load
duke
parents:
diff changeset
12
a61af66fc99e Initial load
duke
parents:
diff changeset
13 Indicates whether "peek" requests should "fail fast"; that is, if
a61af66fc99e Initial load
duke
parents:
diff changeset
14 any of the addresses in the requested range are unmapped, report
a61af66fc99e Initial load
duke
parents:
diff changeset
15 the entire range as unmapped. This is substantially faster than
a61af66fc99e Initial load
duke
parents:
diff changeset
16 the alternative, which is to read the entire range byte-by-byte.
a61af66fc99e Initial load
duke
parents:
diff changeset
17 However, it should only be used when it is guaranteed by the
a61af66fc99e Initial load
duke
parents:
diff changeset
18 client application that peeks come from at most one page. The
a61af66fc99e Initial load
duke
parents:
diff changeset
19 default is that peek_fast_fail is not enabled.
a61af66fc99e Initial load
duke
parents:
diff changeset
20
a61af66fc99e Initial load
duke
parents:
diff changeset
21 peek <address addr> <unsigned int numBytes> ::=
a61af66fc99e Initial load
duke
parents:
diff changeset
22 B<binary char success>
a61af66fc99e Initial load
duke
parents:
diff changeset
23 [<binary unsigned int len> <binary char isMapped> [<binary char data>]...]...
a61af66fc99e Initial load
duke
parents:
diff changeset
24
a61af66fc99e Initial load
duke
parents:
diff changeset
25 NOTE that the binary portion of this message is prefixed by the
a61af66fc99e Initial load
duke
parents:
diff changeset
26 uppercase US-ASCII letter 'B', allowing easier synchronization by
a61af66fc99e Initial load
duke
parents:
diff changeset
27 clients. There is no data between the 'B' and the rest of the
a61af66fc99e Initial load
duke
parents:
diff changeset
28 message.
a61af66fc99e Initial load
duke
parents:
diff changeset
29
a61af66fc99e Initial load
duke
parents:
diff changeset
30 May only be called once attached. Reads the address space of the
a61af66fc99e Initial load
duke
parents:
diff changeset
31 target process starting at the given address (see below for format
a61af66fc99e Initial load
duke
parents:
diff changeset
32 specifications) and extending the given number of bytes. Whether
a61af66fc99e Initial load
duke
parents:
diff changeset
33 the read succeeded is indicated by a single byte containing a 1 or
a61af66fc99e Initial load
duke
parents:
diff changeset
34 0 (success or failure). If successful, the return result is given
a61af66fc99e Initial load
duke
parents:
diff changeset
35 in a sequence of ranges. _len_, the length of each range, is
a61af66fc99e Initial load
duke
parents:
diff changeset
36 indicated by a 32-bit unsigned integer transmitted with big-endian
a61af66fc99e Initial load
duke
parents:
diff changeset
37 byte ordering (i.e., most significant byte first). _isMapped_
a61af66fc99e Initial load
duke
parents:
diff changeset
38 indicates whether the range is mapped or unmapped in the target
a61af66fc99e Initial load
duke
parents:
diff changeset
39 process's address space, and will contain the value 1 or 0 for
a61af66fc99e Initial load
duke
parents:
diff changeset
40 mapped or unmapped, respectively. If the range is mapped,
a61af66fc99e Initial load
duke
parents:
diff changeset
41 _isMapped_ is followed by _data_, containing the raw binary data
a61af66fc99e Initial load
duke
parents:
diff changeset
42 for the range. The sum of all ranges' lengths is guaranteed to be
a61af66fc99e Initial load
duke
parents:
diff changeset
43 equivalent to the number of bytes requested.
a61af66fc99e Initial load
duke
parents:
diff changeset
44
a61af66fc99e Initial load
duke
parents:
diff changeset
45 poke <address addr> <int numBytes> B[<binary char data>]... ::= <bool result>
a61af66fc99e Initial load
duke
parents:
diff changeset
46
a61af66fc99e Initial load
duke
parents:
diff changeset
47 NOTE that the binary portion of this message is prefixed by the
a61af66fc99e Initial load
duke
parents:
diff changeset
48 uppercase US-ASCII letter 'B', allowing easier synchronization by
a61af66fc99e Initial load
duke
parents:
diff changeset
49 clients. There is no data between the 'B' and the rest of the
a61af66fc99e Initial load
duke
parents:
diff changeset
50 message.
a61af66fc99e Initial load
duke
parents:
diff changeset
51
a61af66fc99e Initial load
duke
parents:
diff changeset
52 Writes the given data to the target process starting at the given
a61af66fc99e Initial load
duke
parents:
diff changeset
53 address. Returns 1 on success, 0 on failure (i.e., one or more of
a61af66fc99e Initial load
duke
parents:
diff changeset
54 target addresses were unmapped).
a61af66fc99e Initial load
duke
parents:
diff changeset
55
a61af66fc99e Initial load
duke
parents:
diff changeset
56 mapped <address addr> <int numBytes> ::= <bool result>
a61af66fc99e Initial load
duke
parents:
diff changeset
57
a61af66fc99e Initial load
duke
parents:
diff changeset
58 Returns 1 if entire address range [address...address + int arg) is
a61af66fc99e Initial load
duke
parents:
diff changeset
59 mapped in target process's address space, 0 if not
a61af66fc99e Initial load
duke
parents:
diff changeset
60
a61af66fc99e Initial load
duke
parents:
diff changeset
61 lookup <symbol objName> <symbol sym> ::= <address addr>
a61af66fc99e Initial load
duke
parents:
diff changeset
62
a61af66fc99e Initial load
duke
parents:
diff changeset
63 First symbol is object name; second is symbol to be looked up.
a61af66fc99e Initial load
duke
parents:
diff changeset
64 Looks up symbol in target process's symbol table and returns
a61af66fc99e Initial load
duke
parents:
diff changeset
65 address. Returns NULL (0x0) if symbol is not found.
a61af66fc99e Initial load
duke
parents:
diff changeset
66
a61af66fc99e Initial load
duke
parents:
diff changeset
67 thr_gregs <int tid> ::= <int numAddresses> <address...>
a61af66fc99e Initial load
duke
parents:
diff changeset
68
a61af66fc99e Initial load
duke
parents:
diff changeset
69 Fetch the "general" (integer) register set for the given thread.
a61af66fc99e Initial load
duke
parents:
diff changeset
70 Returned as a series of hexidecimal values. NOTE: the meaning of
a61af66fc99e Initial load
duke
parents:
diff changeset
71 the return value is architecture-dependent. In general it is the
a61af66fc99e Initial load
duke
parents:
diff changeset
72 contents of the prgregset_t.
a61af66fc99e Initial load
duke
parents:
diff changeset
73
a61af66fc99e Initial load
duke
parents:
diff changeset
74 exit ::=
a61af66fc99e Initial load
duke
parents:
diff changeset
75
a61af66fc99e Initial load
duke
parents:
diff changeset
76 Exits the serviceability agent dbx module, returning control to
a61af66fc99e Initial load
duke
parents:
diff changeset
77 the dbx prompt.
a61af66fc99e Initial load
duke
parents:
diff changeset
78
a61af66fc99e Initial load
duke
parents:
diff changeset
79 // Data formats and example values:
a61af66fc99e Initial load
duke
parents:
diff changeset
80 <address> ::= 0x12345678[9ABCDEF0] /* up to 64-bit hex value */
a61af66fc99e Initial load
duke
parents:
diff changeset
81 <unsigned int> ::= 5 /* up to 32-bit integer number; no leading sign */
a61af66fc99e Initial load
duke
parents:
diff changeset
82 <bool> ::= 1 /* ASCII '0' or '1' */