This import module uses a largely text-based protocol, except for certain bulk data transfer operations. All text is in single-byte US-ASCII. Commands understood: address_size ::= Returns 32 if attached to 32-bit process, 64 if 64-bit. peek_fail_fast ::= Indicates whether "peek" requests should "fail fast"; that is, if any of the addresses in the requested range are unmapped, report the entire range as unmapped. This is substantially faster than the alternative, which is to read the entire range byte-by-byte. However, it should only be used when it is guaranteed by the client application that peeks come from at most one page. The default is that peek_fast_fail is not enabled. peek
::= B [ []...]... NOTE that the binary portion of this message is prefixed by the uppercase US-ASCII letter 'B', allowing easier synchronization by clients. There is no data between the 'B' and the rest of the message. May only be called once attached. Reads the address space of the target process starting at the given address (see below for format specifications) and extending the given number of bytes. Whether the read succeeded is indicated by a single byte containing a 1 or 0 (success or failure). If successful, the return result is given in a sequence of ranges. _len_, the length of each range, is indicated by a 32-bit unsigned integer transmitted with big-endian byte ordering (i.e., most significant byte first). _isMapped_ indicates whether the range is mapped or unmapped in the target process's address space, and will contain the value 1 or 0 for mapped or unmapped, respectively. If the range is mapped, _isMapped_ is followed by _data_, containing the raw binary data for the range. The sum of all ranges' lengths is guaranteed to be equivalent to the number of bytes requested. poke
B[]... ::= NOTE that the binary portion of this message is prefixed by the uppercase US-ASCII letter 'B', allowing easier synchronization by clients. There is no data between the 'B' and the rest of the message. Writes the given data to the target process starting at the given address. Returns 1 on success, 0 on failure (i.e., one or more of target addresses were unmapped). mapped
::= Returns 1 if entire address range [address...address + int arg) is mapped in target process's address space, 0 if not lookup ::=
First symbol is object name; second is symbol to be looked up. Looks up symbol in target process's symbol table and returns address. Returns NULL (0x0) if symbol is not found. thr_gregs ::= Fetch the "general" (integer) register set for the given thread. Returned as a series of hexidecimal values. NOTE: the meaning of the return value is architecture-dependent. In general it is the contents of the prgregset_t. exit ::= Exits the serviceability agent dbx module, returning control to the dbx prompt. // Data formats and example values:
::= 0x12345678[9ABCDEF0] /* up to 64-bit hex value */ ::= 5 /* up to 32-bit integer number; no leading sign */ ::= 1 /* ASCII '0' or '1' */