hotspot/agent/src/os/win32/README-commands.txt
author never
Mon, 04 May 2009 22:06:47 -0700
changeset 2744 57f0579fbe09
parent 1 489c9b5090e2
permissions -rw-r--r--
6837224: libsaproc.so on linux needs version of 6799141 Reviewed-by: kvn
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     1
This debug server uses a largely text-based protocol, except for
489c9b5090e2 Initial load
duke
parents:
diff changeset
     2
certain bulk data transfer operations. All text is in single-byte
489c9b5090e2 Initial load
duke
parents:
diff changeset
     3
US-ASCII except for the strings returned in "proclist".
489c9b5090e2 Initial load
duke
parents:
diff changeset
     4
489c9b5090e2 Initial load
duke
parents:
diff changeset
     5
NOTE that the character '|' (vertical bar) is used as an escape
489c9b5090e2 Initial load
duke
parents:
diff changeset
     6
character to switch the incoming data stream to the debug server into
489c9b5090e2 Initial load
duke
parents:
diff changeset
     7
binary mode, so no text command may contain that character.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     8
489c9b5090e2 Initial load
duke
parents:
diff changeset
     9
Commands understood:
489c9b5090e2 Initial load
duke
parents:
diff changeset
    10
489c9b5090e2 Initial load
duke
parents:
diff changeset
    11
ascii <EOL>                 ::=
489c9b5090e2 Initial load
duke
parents:
diff changeset
    12
489c9b5090e2 Initial load
duke
parents:
diff changeset
    13
    Changes to ASCII mode. This affects all outgoing strings. At
489c9b5090e2 Initial load
duke
parents:
diff changeset
    14
    startup the system is in unicode mode.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    15
489c9b5090e2 Initial load
duke
parents:
diff changeset
    16
unicode <EOL>               ::=
489c9b5090e2 Initial load
duke
parents:
diff changeset
    17
489c9b5090e2 Initial load
duke
parents:
diff changeset
    18
    Changes to UNICODE mode. This affects all outgoing strings. This
489c9b5090e2 Initial load
duke
parents:
diff changeset
    19
    is the default mode upon startup.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    20
489c9b5090e2 Initial load
duke
parents:
diff changeset
    21
proclist <EOL>              ::=
489c9b5090e2 Initial load
duke
parents:
diff changeset
    22
      <int num> [<unsigned int pid> <int charSize> <int numChars> [<binary char_t name>]...]... <EOL>
489c9b5090e2 Initial load
duke
parents:
diff changeset
    23
489c9b5090e2 Initial load
duke
parents:
diff changeset
    24
    Returns integer indicating number of processes to follow, followed
489c9b5090e2 Initial load
duke
parents:
diff changeset
    25
    by (pid, name) pairs. Names are given by (charSize, numChars,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    26
    [char_t]...) tuples; charSize indicates the size of each character
489c9b5090e2 Initial load
duke
parents:
diff changeset
    27
    in bytes, numChars the number of characters in the string, and
489c9b5090e2 Initial load
duke
parents:
diff changeset
    28
    name the raw data for the string. Each individual character of the
489c9b5090e2 Initial load
duke
parents:
diff changeset
    29
    string, if multi-byte, is transmitted in network byte order.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    30
    numChars and name are guaranteed to be separated by precisely one
489c9b5090e2 Initial load
duke
parents:
diff changeset
    31
    US-ASCII space. If process list is not available because of
489c9b5090e2 Initial load
duke
parents:
diff changeset
    32
    limitations of the underlying operating system, number of
489c9b5090e2 Initial load
duke
parents:
diff changeset
    33
    processes returned is 0.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    34
489c9b5090e2 Initial load
duke
parents:
diff changeset
    35
attach <int pid> <EOL>      ::= <bool result> <EOL>
489c9b5090e2 Initial load
duke
parents:
diff changeset
    36
489c9b5090e2 Initial load
duke
parents:
diff changeset
    37
    Attempts to attach to the specified process. Returns 1 if
489c9b5090e2 Initial load
duke
parents:
diff changeset
    38
    successful, 0 if not. Will fail if already attached or if the
489c9b5090e2 Initial load
duke
parents:
diff changeset
    39
    process ID does not exist. Attaching to a process causes the
489c9b5090e2 Initial load
duke
parents:
diff changeset
    40
    process to be suspended.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    41
489c9b5090e2 Initial load
duke
parents:
diff changeset
    42
detach <EOL>                ::= <bool result> <EOL>
489c9b5090e2 Initial load
duke
parents:
diff changeset
    43
489c9b5090e2 Initial load
duke
parents:
diff changeset
    44
    Detaches from the given process. Attaching and detaching multiple
489c9b5090e2 Initial load
duke
parents:
diff changeset
    45
    times during a debugging session is allowed. Detaching causes the
489c9b5090e2 Initial load
duke
parents:
diff changeset
    46
    process to resume execution.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    47
489c9b5090e2 Initial load
duke
parents:
diff changeset
    48
libinfo <EOL>               ::=
489c9b5090e2 Initial load
duke
parents:
diff changeset
    49
      <int numLibs> [<int charSize> <int numChars> [<binary char_t name>]... <address baseAddr>]... <EOL>
489c9b5090e2 Initial load
duke
parents:
diff changeset
    50
489c9b5090e2 Initial load
duke
parents:
diff changeset
    51
    May only be called once attached and the target process must be
489c9b5090e2 Initial load
duke
parents:
diff changeset
    52
    suspended; otherwise, returns 0. Returns list of the full path
489c9b5090e2 Initial load
duke
parents:
diff changeset
    53
    names of all of the loaded modules (including the executable
489c9b5090e2 Initial load
duke
parents:
diff changeset
    54
    image) in the target process, as well as the base address at which
489c9b5090e2 Initial load
duke
parents:
diff changeset
    55
    each module was relocated. See proclist for format of strings, but
489c9b5090e2 Initial load
duke
parents:
diff changeset
    56
    NOTE that charSize is ALWAYS 1 for this particular routine,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    57
    regardless of the setting of ASCII/UNICODE.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    58
489c9b5090e2 Initial load
duke
parents:
diff changeset
    59
peek <address addr> <unsigned int numBytes> <EOL> ::=
489c9b5090e2 Initial load
duke
parents:
diff changeset
    60
     B<binary char success>
489c9b5090e2 Initial load
duke
parents:
diff changeset
    61
      [<binary unsigned int len> <binary char isMapped> [<binary char data>]...]...
489c9b5090e2 Initial load
duke
parents:
diff changeset
    62
489c9b5090e2 Initial load
duke
parents:
diff changeset
    63
    NOTE that the binary portion of this message is prefixed by the
489c9b5090e2 Initial load
duke
parents:
diff changeset
    64
    uppercase US-ASCII letter 'B', allowing easier synchronization by
489c9b5090e2 Initial load
duke
parents:
diff changeset
    65
    clients. There is no data between the 'B' and the rest of the
489c9b5090e2 Initial load
duke
parents:
diff changeset
    66
    message.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    67
489c9b5090e2 Initial load
duke
parents:
diff changeset
    68
    May only be called once attached. Reads the address space of the
489c9b5090e2 Initial load
duke
parents:
diff changeset
    69
    target process starting at the given address (see below for format
489c9b5090e2 Initial load
duke
parents:
diff changeset
    70
    specifications) and extending the given number of bytes. Whether
489c9b5090e2 Initial load
duke
parents:
diff changeset
    71
    the read succeeded is indicated by a single byte containing a 1 or
489c9b5090e2 Initial load
duke
parents:
diff changeset
    72
    0 (success or failure). If successful, the return result is given
489c9b5090e2 Initial load
duke
parents:
diff changeset
    73
    in a sequence of ranges. _len_, the length of each range, is
489c9b5090e2 Initial load
duke
parents:
diff changeset
    74
    indicated by a 32-bit unsigned integer transmitted with big-endian
489c9b5090e2 Initial load
duke
parents:
diff changeset
    75
    byte ordering (i.e., most significant byte first).  _isMapped_
489c9b5090e2 Initial load
duke
parents:
diff changeset
    76
    indicates whether the range is mapped or unmapped in the target
489c9b5090e2 Initial load
duke
parents:
diff changeset
    77
    process's address space, and will contain the value 1 or 0 for
489c9b5090e2 Initial load
duke
parents:
diff changeset
    78
    mapped or unmapped, respectively. If the range is mapped,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    79
    _isMapped_ is followed by _data_, containing the raw binary data
489c9b5090e2 Initial load
duke
parents:
diff changeset
    80
    for the range. The sum of all ranges' lengths is guaranteed to be
489c9b5090e2 Initial load
duke
parents:
diff changeset
    81
    equivalent to the number of bytes requested.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    82
489c9b5090e2 Initial load
duke
parents:
diff changeset
    83
poke <address addr> |[<binary unsigned int len> [<binary char data>]] <EOL> ::=
489c9b5090e2 Initial load
duke
parents:
diff changeset
    84
     <bool result> <EOL>
489c9b5090e2 Initial load
duke
parents:
diff changeset
    85
489c9b5090e2 Initial load
duke
parents:
diff changeset
    86
    NOTE that the binary portion of this message is prefixed by the
489c9b5090e2 Initial load
duke
parents:
diff changeset
    87
    uppercase US-ASCII character '|' (vertical bar), allowing easier
489c9b5090e2 Initial load
duke
parents:
diff changeset
    88
    synchronization by the server. There is no data between the '|'
489c9b5090e2 Initial load
duke
parents:
diff changeset
    89
    and the rest of the message. ('B' is not used here because
489c9b5090e2 Initial load
duke
parents:
diff changeset
    90
    addresses can contain that letter; no alphanumeric characters are
489c9b5090e2 Initial load
duke
parents:
diff changeset
    91
    used because some of the parsing routines are used by the Solaris
489c9b5090e2 Initial load
duke
parents:
diff changeset
    92
    SA port, and in that port any alphanumeric character can show up
489c9b5090e2 Initial load
duke
parents:
diff changeset
    93
    as a part of a symbol being looked up.)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    94
489c9b5090e2 Initial load
duke
parents:
diff changeset
    95
    May only be called once attached. Writes the address space of the
489c9b5090e2 Initial load
duke
parents:
diff changeset
    96
    target process starting at the given address (see below for format
489c9b5090e2 Initial load
duke
parents:
diff changeset
    97
    specifications), extending the given number of bytes, and
489c9b5090e2 Initial load
duke
parents:
diff changeset
    98
    containing the given data. The number of bytes is a 32-bit
489c9b5090e2 Initial load
duke
parents:
diff changeset
    99
    unsigned integer transmitted with big-endian byte ordering (i.e.,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   100
    most significant byte first). This is followed by the raw binary
489c9b5090e2 Initial load
duke
parents:
diff changeset
   101
    data to be placed at that address. The number of bytes of data
489c9b5090e2 Initial load
duke
parents:
diff changeset
   102
    must match the number of bytes specified in the message.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   103
489c9b5090e2 Initial load
duke
parents:
diff changeset
   104
    Returns true if the write succeeded; false if it failed, for
489c9b5090e2 Initial load
duke
parents:
diff changeset
   105
    example because a portion of the region was not mapped in the
489c9b5090e2 Initial load
duke
parents:
diff changeset
   106
    target address space.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   107
489c9b5090e2 Initial load
duke
parents:
diff changeset
   108
threadlist <EOL>            ::= <int numThreads> [<address threadHandle>...] <EOL>
489c9b5090e2 Initial load
duke
parents:
diff changeset
   109
489c9b5090e2 Initial load
duke
parents:
diff changeset
   110
    May only be called once attached and the target process must be
489c9b5090e2 Initial load
duke
parents:
diff changeset
   111
    suspended; otherwise, returns 0. If available, returns handles for
489c9b5090e2 Initial load
duke
parents:
diff changeset
   112
    all of the threads in the target process. These handles may be
489c9b5090e2 Initial load
duke
parents:
diff changeset
   113
    used as arguments to the getcontext and selectorentry
489c9b5090e2 Initial load
duke
parents:
diff changeset
   114
    commands. They do not need to be (and should not be) duplicated
489c9b5090e2 Initial load
duke
parents:
diff changeset
   115
    via the duphandle command and must not be closed via the
489c9b5090e2 Initial load
duke
parents:
diff changeset
   116
    closehandle command.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   117
489c9b5090e2 Initial load
duke
parents:
diff changeset
   118
duphandle <address handle> <EOL> ::=
489c9b5090e2 Initial load
duke
parents:
diff changeset
   119
    <bool success> [<address duplicate>] <EOL>
489c9b5090e2 Initial load
duke
parents:
diff changeset
   120
489c9b5090e2 Initial load
duke
parents:
diff changeset
   121
    Duplicates a HANDLE read from the target process's address space.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   122
    HANDLE is a Windows construct (typically typedef'd to void *).
489c9b5090e2 Initial load
duke
parents:
diff changeset
   123
    The returned handle should ultimately be closed via the
489c9b5090e2 Initial load
duke
parents:
diff changeset
   124
    closehandle command; failing to do so can cause resource leaks.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   125
489c9b5090e2 Initial load
duke
parents:
diff changeset
   126
    The purpose of this command is to allow the debugger to read the
489c9b5090e2 Initial load
duke
parents:
diff changeset
   127
    value of a thread handle from the target process and query its
489c9b5090e2 Initial load
duke
parents:
diff changeset
   128
    register set and thread selector entries via the getcontext and
489c9b5090e2 Initial load
duke
parents:
diff changeset
   129
    selectorentry commands, below; such use implies that the target
489c9b5090e2 Initial load
duke
parents:
diff changeset
   130
    program has its own notion of the thread list, and further, that
489c9b5090e2 Initial load
duke
parents:
diff changeset
   131
    the debugger has a way of locating that thread list.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   132
489c9b5090e2 Initial load
duke
parents:
diff changeset
   133
closehandle <address handle> <EOL> ::=
489c9b5090e2 Initial load
duke
parents:
diff changeset
   134
489c9b5090e2 Initial load
duke
parents:
diff changeset
   135
    Closes a handle retrieved via the duphandle command, above.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   136
489c9b5090e2 Initial load
duke
parents:
diff changeset
   137
getcontext <address threadHandle> <EOL> ::= <bool success> [<context>] <EOL>
489c9b5090e2 Initial load
duke
parents:
diff changeset
   138
    
489c9b5090e2 Initial load
duke
parents:
diff changeset
   139
    Returns the context for the given thread. The handle must either
489c9b5090e2 Initial load
duke
parents:
diff changeset
   140
    be one of the handles returned from the threadlist command or the
489c9b5090e2 Initial load
duke
parents:
diff changeset
   141
    result of duplicating a thread handle out of the target process
489c9b5090e2 Initial load
duke
parents:
diff changeset
   142
    via the duphandle command. The target process must be suspended.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   143
489c9b5090e2 Initial load
duke
parents:
diff changeset
   144
    The context is returned as a series of hex values which represent
489c9b5090e2 Initial load
duke
parents:
diff changeset
   145
    the following x86 registers in the following order:
489c9b5090e2 Initial load
duke
parents:
diff changeset
   146
      EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP, EIP, DS, ES, FS, GS,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   147
      CS, SS, EFLAGS, DR0, DR1, DR2, DR3, DR6, DR7
489c9b5090e2 Initial load
duke
parents:
diff changeset
   148
489c9b5090e2 Initial load
duke
parents:
diff changeset
   149
    FIXME: needs to be generalized and/or specified for other
489c9b5090e2 Initial load
duke
parents:
diff changeset
   150
    architectures.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   151
489c9b5090e2 Initial load
duke
parents:
diff changeset
   152
setcontext <address threadHandle> <context> ::= <bool success> <EOL>
489c9b5090e2 Initial load
duke
parents:
diff changeset
   153
489c9b5090e2 Initial load
duke
parents:
diff changeset
   154
    Sets the context of the given thread. The target process must be
489c9b5090e2 Initial load
duke
parents:
diff changeset
   155
    suspended. See the getcontext command for the ordering of the
489c9b5090e2 Initial load
duke
parents:
diff changeset
   156
    registers in the context.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   157
489c9b5090e2 Initial load
duke
parents:
diff changeset
   158
    Even if the setcontext command succeeds, some of the bits in some
489c9b5090e2 Initial load
duke
parents:
diff changeset
   159
    of the registers (like the global enable bits in the debug
489c9b5090e2 Initial load
duke
parents:
diff changeset
   160
    registers) may be overridden by the operating system. To ensure
489c9b5090e2 Initial load
duke
parents:
diff changeset
   161
    the debugger's notion of the register set is up to date, it is
489c9b5090e2 Initial load
duke
parents:
diff changeset
   162
    recommended to follow up a setcontext with a getcontext.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   163
489c9b5090e2 Initial load
duke
parents:
diff changeset
   164
selectorentry <address threadHandle> <int selector> <EOL> ::=
489c9b5090e2 Initial load
duke
parents:
diff changeset
   165
    <bool success>
489c9b5090e2 Initial load
duke
parents:
diff changeset
   166
    [<address limitLow> <address baseLow>
489c9b5090e2 Initial load
duke
parents:
diff changeset
   167
     <address baseMid>  <address flags1>
489c9b5090e2 Initial load
duke
parents:
diff changeset
   168
     <address flags2>   <address baseHi>] <EOL>
489c9b5090e2 Initial load
duke
parents:
diff changeset
   169
489c9b5090e2 Initial load
duke
parents:
diff changeset
   170
    Retrieves a descriptor table entry for the given thread and
489c9b5090e2 Initial load
duke
parents:
diff changeset
   171
    selector. This data structure allows conversion of a
489c9b5090e2 Initial load
duke
parents:
diff changeset
   172
    segment-relative address to a linear virtual address. It is most
489c9b5090e2 Initial load
duke
parents:
diff changeset
   173
    useful for locating the Thread Information Block for a given
489c9b5090e2 Initial load
duke
parents:
diff changeset
   174
    thread handle to be able to find that thread's ID, to be able to
489c9b5090e2 Initial load
duke
parents:
diff changeset
   175
    understand whether two different thread handles in fact refer to
489c9b5090e2 Initial load
duke
parents:
diff changeset
   176
    the same underlying thread.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   177
489c9b5090e2 Initial load
duke
parents:
diff changeset
   178
    This command will only work on the X86 architecture and will
489c9b5090e2 Initial load
duke
parents:
diff changeset
   179
    return false for the success flag (with no additional information
489c9b5090e2 Initial load
duke
parents:
diff changeset
   180
    sent) on other architectures.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   181
489c9b5090e2 Initial load
duke
parents:
diff changeset
   182
suspend                     ::=
489c9b5090e2 Initial load
duke
parents:
diff changeset
   183
489c9b5090e2 Initial load
duke
parents:
diff changeset
   184
    Suspends the target process. Must be attached to a target process.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   185
    A process is suspended when attached to via the attach command. If
489c9b5090e2 Initial load
duke
parents:
diff changeset
   186
    the target process is already suspended then this command has no
489c9b5090e2 Initial load
duke
parents:
diff changeset
   187
    effect.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   188
489c9b5090e2 Initial load
duke
parents:
diff changeset
   189
resume                      ::=
489c9b5090e2 Initial load
duke
parents:
diff changeset
   190
489c9b5090e2 Initial load
duke
parents:
diff changeset
   191
    Resumes the target process without detaching from it. Must be
489c9b5090e2 Initial load
duke
parents:
diff changeset
   192
    attached to a target process. After resuming a target process, the
489c9b5090e2 Initial load
duke
parents:
diff changeset
   193
    debugger client must be prepared to poll for events from the
489c9b5090e2 Initial load
duke
parents:
diff changeset
   194
    target process fairly frequently in order for execution in the
489c9b5090e2 Initial load
duke
parents:
diff changeset
   195
    target process to proceed normally. If the target process is
489c9b5090e2 Initial load
duke
parents:
diff changeset
   196
    already resumed then this command has no effect.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   197
489c9b5090e2 Initial load
duke
parents:
diff changeset
   198
pollevent                   ::=
489c9b5090e2 Initial load
duke
parents:
diff changeset
   199
    <bool eventPresent> [<address threadHandle> <unsigned int eventCode>]
489c9b5090e2 Initial load
duke
parents:
diff changeset
   200
489c9b5090e2 Initial load
duke
parents:
diff changeset
   201
  Additional entries in result for given eventCode:
489c9b5090e2 Initial load
duke
parents:
diff changeset
   202
489c9b5090e2 Initial load
duke
parents:
diff changeset
   203
    LOAD/UNLOAD_DLL_DEBUG_EVENT: <address baseOfDLL>
489c9b5090e2 Initial load
duke
parents:
diff changeset
   204
    EXCEPTION_DEBUG_EVENT:       <unsigned int exceptionCode> <address faultingPC>
489c9b5090e2 Initial load
duke
parents:
diff changeset
   205
489c9b5090e2 Initial load
duke
parents:
diff changeset
   206
      Additional entries for given exceptionCode:
489c9b5090e2 Initial load
duke
parents:
diff changeset
   207
489c9b5090e2 Initial load
duke
parents:
diff changeset
   208
         EXCEPTION_ACCESS_VIOLATION: <bool wasWrite> <address faultingAddress>
489c9b5090e2 Initial load
duke
parents:
diff changeset
   209
489c9b5090e2 Initial load
duke
parents:
diff changeset
   210
    <EOL>
489c9b5090e2 Initial load
duke
parents:
diff changeset
   211
489c9b5090e2 Initial load
duke
parents:
diff changeset
   212
    Polls once to see whether a debug event has been generated by the
489c9b5090e2 Initial load
duke
parents:
diff changeset
   213
    target process. If none is present, returns 0 immediately.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   214
    Otherwise, returns 1 along with a series of textual information
489c9b5090e2 Initial load
duke
parents:
diff changeset
   215
    about the event. The event is not cleared, and the thread resumed,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   216
    until the continueevent command is sent, or the debugger client
489c9b5090e2 Initial load
duke
parents:
diff changeset
   217
    detaches from the target process.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   218
489c9b5090e2 Initial load
duke
parents:
diff changeset
   219
    Typically a debugger client will suspend the target process upon
489c9b5090e2 Initial load
duke
parents:
diff changeset
   220
    reception of a debug event. Otherwise, it is not guaranteed that
489c9b5090e2 Initial load
duke
parents:
diff changeset
   221
    all threads will be suspended upon reception of a debug event, and
489c9b5090e2 Initial load
duke
parents:
diff changeset
   222
    any operations requiring that threads be suspended (including
489c9b5090e2 Initial load
duke
parents:
diff changeset
   223
    fetching the context for the thread which generated the event)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   224
    will fail.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   225
489c9b5090e2 Initial load
duke
parents:
diff changeset
   226
continueevent <bool passEventToClient> ::= <bool success> <EOL>
489c9b5090e2 Initial load
duke
parents:
diff changeset
   227
489c9b5090e2 Initial load
duke
parents:
diff changeset
   228
    Indicates that the current debug event has been used by the
489c9b5090e2 Initial load
duke
parents:
diff changeset
   229
    debugger client and that the target process should be resumed. The
489c9b5090e2 Initial load
duke
parents:
diff changeset
   230
    passEventToClient flag indicates whether the event should be
489c9b5090e2 Initial load
duke
parents:
diff changeset
   231
    propagated to the target process. Breakpoint and single-step
489c9b5090e2 Initial load
duke
parents:
diff changeset
   232
    events should not be propagated to the target. Returns false if
489c9b5090e2 Initial load
duke
parents:
diff changeset
   233
    there was no pending event, true otherwise.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   234
489c9b5090e2 Initial load
duke
parents:
diff changeset
   235
exit <EOL>
489c9b5090e2 Initial load
duke
parents:
diff changeset
   236
489c9b5090e2 Initial load
duke
parents:
diff changeset
   237
    Exits this debugger session.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   238
489c9b5090e2 Initial load
duke
parents:
diff changeset
   239
Format specifications:
489c9b5090e2 Initial load
duke
parents:
diff changeset
   240
489c9b5090e2 Initial load
duke
parents:
diff changeset
   241
// Data formats and example values:
489c9b5090e2 Initial load
duke
parents:
diff changeset
   242
<EOL>          ::=   end of line (typically \n on Unix platforms, or \n\r on Windows)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   243
<address>      ::=   0x12345678[9ABCDEF0] /* up to 64-bit hex value */
489c9b5090e2 Initial load
duke
parents:
diff changeset
   244
<unsigned int> ::=   5                    /* up to 32-bit integer number; no leading sign */
489c9b5090e2 Initial load
duke
parents:
diff changeset
   245
<bool>         ::=   1                    /* ASCII '0' or '1' */
489c9b5090e2 Initial load
duke
parents:
diff changeset
   246
<context>      ::=   <address> ...