Code: |
AS + 707 |
Symbolic: |
bccProcessInspect |
This command will inspect contents of a remote user process: this is a standard data exchange sequence.
The REQDATA structure is the following:
Offset |
Type |
Label |
Description |
---|---|---|---|
0 |
U32 |
QSIZE |
Query data size |
4 |
U8[12] |
- |
(reserved) |
16 |
U32 |
DSID |
Debug session ID (0=Use read-only session, if available) |
20 |
U32 |
FLAGS |
Operating flags |
24 |
U16 |
PID |
Process ID |
26 |
U16 |
QTYPE |
Query type: |
On failure, a bccNack is received. Specific errors:
NACK code |
Description |
Extra data |
---|---|---|
nackNotFound |
Process not found |
|
nackIllegalDebug |
Illegal debug session |
|
nackIllegalArgs |
Illegal parameters |
U16 What illegal: 1 = Flags 2 = Query size 3 = Query type |
Specific data for type 1 (inspect R++ expression)
The QUERYDATA structure is the following:
Offset |
Type |
Label |
Description |
---|---|---|---|
0 |
U32 |
FLAGS |
Query flags: 0x1 = Query sub-expressions data |
4 |
U16 |
DATA_FMT |
Maximum data format version handled by client. |
6 |
U16 |
CTX_OFF |
Context key offset (#1) |
8 |
U16 |
EXPR_OFF |
Expression offset (#1) |
... |
STRZ |
CTX |
Context key |
... |
STRZ |
EXPR |
Expression |
(#1) Offset is related to the QUERYDATA buffer itself.
The ANSWERDATA structure is the following
Offset |
Type |
Label |
Description |
---|---|---|---|
0 |
U16 |
RESULT |
Result code: 0=operation completed 1=operation completed but with warning (#1) 2=operation not completed due to errors (#1) |
2 |
U16 |
DATA_OFF |
Data offset (#2) |
4 |
U16 |
DATA_SIZE |
Data size |
6 |
U16 |
DATA_FMT |
Data format version: 0=invalid 0x100=R++ tag format (v1) 0x101=R++ tag format (v2) |
... |
... |
DATA |
(#1) Warning and error informations are contained in DATA, according to DATA_FMT. For example, for DATA_FMT=0x1xx, any context and/or content errors in the expression, could be signaled with the tag_error within the resulting data (so there is a chance for more errors).
(#2) Offset is related to the ANSWER