annotate agent/src/os/solaris/dbx/README-commands.txt @ 3237:399aa66d375e

Fixed a bug in which the valueEquals method was misused. The method does only check the equality of the node data and not full GVN equality by taking inputs and successors into account.
author Thomas Wuerthinger <thomas@wuerthinger.net>
date Wed, 27 Jul 2011 14:16:38 -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' */