| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| <html> |
| <head> |
| <title>Target Communication Framework Services - Symbols</title> |
| </head> |
| |
| <body lang='EN-US'> |
| |
| <h1>Target Communication Framework Services - Symbols</h1> |
| |
| <ul> |
| <li><a href='#VersionHistory'>Version History</a> |
| <li><a href='#Overview'>Overview</a> |
| <li><a href='#Cmds'>Commands</a> |
| <li><a href='#API'>API</a> |
| </ul> |
| |
| <h1>Symbols Service</h1> |
| |
| <h2><a name='VersionHistory'>Version History</a></h2> |
| |
| <table border=1 cellpadding=8> |
| <tr> |
| <th>Version |
| <th>Date |
| <th>Change |
| <tr> |
| <td>1.0 |
| <td>2011-11-11 |
| <td>Initial |
| </table> |
| |
| <h2><a name='Overview'>Overview</a></h2> |
| |
| <p><font color=#FF7000>TBD</font></p> |
| |
| <p>The service uses standard format for error reports, |
| see <a href='TCF Error Report Format.html'>Error Report Format</a>.</p> |
| |
| <h2><a name='Cmds'>Commands</a></h2> |
| |
| <p><font color=#FF7000>TBD</font></p> |
| |
| <h2><a name='API'>API</a></h2> |
| |
| <pre> |
| <font color=#3F5FBF>/** |
| * TCF symbols service interface. |
| * |
| * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients. |
| */</font> |
| <font color=#7F0055>public interface</font> ISymbols <font color=#7F0055>extends</font> IService { |
| |
| <font color=#3F5FBF>/** |
| * This service name, as it appears on the wire - a TCF name of the service. |
| */</font> |
| <font color=#7F0055>static final</font> String NAME = "Symbols"; |
| |
| enum SymbolClass { |
| unknown, // unknown symbol class |
| value, // constant value |
| reference, // variable data object |
| function, // function body |
| type, // a type |
| comp_unit, // compilation unit |
| block, // lexical block |
| namespace, // C++ namespace |
| <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.3 */</font> |
| variant_part, // a variant part of a structure |
| <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.3 */</font> |
| variant // a member of a variant part of a structure |
| } |
| |
| enum TypeClass { |
| unknown, // unknown type class |
| cardinal, // unsigned integer |
| integer, // signed integer |
| real, // float, double |
| pointer, // pointer to anything. |
| array, // array of anything. |
| composite, // struct, union, or class. |
| enumeration, // enumeration type. |
| function, // function type. |
| member_pointer, // pointer to member type |
| <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.3 */</font> |
| complex // complex float |
| } |
| |
| <font color=#7F0055>static final int</font> |
| SYM_FLAG_PARAMETER = 0x00000001, |
| SYM_FLAG_TYPEDEF = 0x00000002, |
| SYM_FLAG_CONST_TYPE = 0x00000004, |
| SYM_FLAG_PACKET_TYPE = 0x00000008, |
| SYM_FLAG_SUBRANGE_TYPE = 0x00000010, |
| SYM_FLAG_VOLATILE_TYPE = 0x00000020, |
| SYM_FLAG_RESTRICT_TYPE = 0x00000040, |
| SYM_FLAG_UNION_TYPE = 0x00000080, |
| SYM_FLAG_CLASS_TYPE = 0x00000100, |
| SYM_FLAG_INTERFACE_TYPE = 0x00000200, |
| SYM_FLAG_SHARED_TYPE = 0x00000400, |
| SYM_FLAG_REFERENCE = 0x00000800, |
| SYM_FLAG_BIG_ENDIAN = 0x00001000, |
| SYM_FLAG_LITTLE_ENDIAN = 0x00002000, |
| SYM_FLAG_OPTIONAL = 0x00004000, |
| SYM_FLAG_EXTERNAL = 0x00008000, |
| SYM_FLAG_VARARG = 0x00010000, |
| SYM_FLAG_ARTIFICIAL = 0x00020000, |
| SYM_FLAG_TYPE_PARAMETER = 0x00040000, |
| SYM_FLAG_PRIVATE = 0x00080000, |
| SYM_FLAG_PROTECTED = 0x00100000, |
| SYM_FLAG_PUBLIC = 0x00200000, |
| SYM_FLAG_ENUM_TYPE = 0x00400000, |
| SYM_FLAG_STRUCT_TYPE = 0x00800000, |
| SYM_FLAG_STRING_TYPE = 0x01000000, |
| SYM_FLAG_INHERITANCE = 0x02000000; |
| <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.3 */</font> |
| <font color=#7F0055>static final int</font> |
| SYM_FLAG_BOOL_TYPE = 0x04000000, |
| SYM_FLAG_INDIRECT = 0x08000000, |
| SYM_FLAG_RVALUE = 0x10000000; |
| |
| <font color=#3F5FBF>/** |
| * Symbol context interface. |
| * <font color=#7F9FBF>@noimplement</font> This interface is not intended to be implemented by clients. |
| */</font> |
| <font color=#7F0055>interface</font> Symbol { |
| <font color=#3F5FBF>/** |
| * Get symbol ID. |
| * <font color=#7F9FBF>@return</font> symbol ID. |
| */</font> |
| String getID(); |
| |
| <font color=#3F5FBF>/** |
| * Get symbol owner ID. |
| * The owner can be a thread or memory space (process). |
| * Certain changes in owner state can invalidate cached symbol properties, |
| * see getUpdatePolicy() and UPDATE_*. |
| */</font> |
| String getOwnerID(); |
| |
| <font color=#3F5FBF>/** |
| * Get symbol properties update policy ID. |
| * Symbol properties can change during program execution. |
| * If a client wants to cache symbols, it should invalidate cached data |
| * according to update policies of cached symbols. |
| * <font color=#7F9FBF>@return</font> symbol update policy ID, see UPDATE_* |
| */</font> |
| <font color=#7F0055>int</font> getUpdatePolicy(); |
| |
| <font color=#3F5FBF>/** |
| * Get symbol name. |
| * <font color=#7F9FBF>@return</font> symbol name or null. |
| */</font> |
| String getName(); |
| |
| <font color=#3F5FBF>/** |
| * Get symbol class. |
| * <font color=#7F9FBF>@return</font> symbol class. |
| */</font> |
| SymbolClass getSymbolClass(); |
| |
| <font color=#3F5FBF>/** |
| * Get symbol type class. |
| * <font color=#7F9FBF>@return</font> type class. |
| */</font> |
| TypeClass getTypeClass(); |
| |
| <font color=#3F5FBF>/** |
| * Get type ID. |
| * If the symbol is a type and not a 'typedef', return same as getID(). |
| * <font color=#7F9FBF>@return</font> type ID. |
| */</font> |
| String getTypeID(); |
| |
| <font color=#3F5FBF>/** |
| * Get base type ID. |
| * If this symbol is a |
| * pointer type - return pointed type; |
| * array type - return element type; |
| * function type - return function result type; |
| * otherwise return null. |
| * <font color=#7F9FBF>@return</font> type ID. |
| */</font> |
| String getBaseTypeID(); |
| |
| <font color=#3F5FBF>/** |
| * Get index type ID. |
| * If this symbol is a |
| * array type - return array index type; |
| * otherwise return null. |
| * <font color=#7F9FBF>@return</font> type ID. |
| */</font> |
| String getIndexTypeID(); |
| |
| <font color=#3F5FBF>/** |
| * Get container type ID. |
| * If this symbol is a |
| * field or member - return containing class type; |
| * member pointer - return containing class type; |
| * otherwise return null. |
| * <font color=#7F9FBF>@return</font> type ID. |
| */</font> |
| String getContainerID(); |
| |
| <font color=#3F5FBF>/** |
| * Return value size of the symbol (or type). |
| * <font color=#7F9FBF>@return</font> size in bytes. |
| */</font> |
| <font color=#7F0055>int</font> getSize(); |
| |
| <font color=#3F5FBF>/** |
| * If symbol is an array type - return number of elements. |
| * <font color=#7F9FBF>@return</font> number of elements. |
| */</font> |
| <font color=#7F0055>int</font> getLength(); |
| |
| <font color=#3F5FBF>/** |
| * If symbol is an array type - return array index lower bound. |
| * <font color=#7F9FBF>@return</font> lower bound. |
| */</font> |
| Number getLowerBound(); |
| |
| <font color=#3F5FBF>/** |
| * If symbol is an array type - return array index upper bound. |
| * <font color=#7F9FBF>@return</font> upper bound. |
| */</font> |
| Number getUpperBound(); |
| |
| <font color=#3F5FBF>/** |
| * If symbol is an array type - return array stride in bits. |
| * <font color=#7F9FBF>@return</font> stride in bits. |
| * <font color=#7F9FBF>@since</font> 1.3 |
| */</font> |
| Number getBitStride(); |
| |
| <font color=#3F5FBF>/** |
| * Return offset from 'this' for member of class, struct or union. |
| * <font color=#7F9FBF>@return</font> offset in bytes. |
| */</font> |
| <font color=#7F0055>int</font> getOffset(); |
| |
| <font color=#3F5FBF>/** |
| * Return address of the symbol. |
| * <font color=#7F9FBF>@return</font> address or null. |
| */</font> |
| Number getAddress(); |
| |
| <font color=#3F5FBF>/** |
| * If symbol is a constant object, return its value. |
| * <font color=#7F9FBF>@return</font> symbol value as array of bytes. |
| */</font> |
| <font color=#7F0055>byte</font>[] getValue(); |
| |
| <font color=#3F5FBF>/** |
| * Get symbol values endianness. |
| * Only valid when getValue() != null. |
| * Note: this is endianness of byte array returned by getValue() method, |
| * and it can be different from endianness of the symbol itself, |
| * which is reported by SYM_FLAG_BIG_ENDIAN/SYM_FLAG_LITTLE_ENDIAN. |
| * <font color=#7F9FBF>@return</font> true if symbol value is big-endian. |
| */</font> |
| <font color=#7F0055>boolean</font> isBigEndian(); |
| |
| <font color=#3F5FBF>/** |
| * Return register ID if the symbol represents a register variable. |
| * <font color=#7F9FBF>@return</font> register ID or null. |
| */</font> |
| String getRegisterID(); |
| |
| <font color=#3F5FBF>/** |
| * Return symbol flags, see SYM_FLAG_*. |
| * <font color=#7F9FBF>@return</font> bit set of symbol flags. |
| */</font> |
| <font color=#7F0055>int</font> getFlags(); |
| |
| <font color=#3F5FBF>/** |
| * Get value of the given flag. |
| * <font color=#7F9FBF>@param</font> flag - one of SYM_FLAG_*. |
| * <font color=#7F9FBF>@return</font> the flag value. |
| */</font> |
| <font color=#7F0055>boolean</font> getFlag(<font color=#7F0055>int</font> flag); |
| |
| <font color=#3F5FBF>/** |
| * Get complete map of context properties. |
| * <font color=#7F9FBF>@return</font> map of context properties. |
| */</font> |
| Map<String,Object> getProperties(); |
| } |
| |
| <font color=#3F5FBF>/** |
| * Symbol context property names. |
| */</font> |
| <font color=#7F0055>static final</font> String |
| PROP_ID = "ID", |
| PROP_OWNER_ID = "OwnerID", |
| PROP_UPDATE_POLICY = "UpdatePolicy", |
| PROP_NAME = "Name", |
| PROP_SYMBOL_CLASS = "Class", |
| PROP_TYPE_CLASS = "TypeClass", |
| PROP_TYPE_ID = "TypeID", |
| PROP_BASE_TYPE_ID = "BaseTypeID", |
| PROP_INDEX_TYPE_ID = "IndexTypeID", |
| PROP_CONTAINER_ID = "ContainerID", |
| PROP_SIZE = "Size", |
| PROP_LENGTH = "Length", |
| PROP_LOWER_BOUND = "LowerBound", |
| PROP_UPPER_BOUND = "UpperBound", |
| PROP_OFFSET = "Offset", |
| PROP_ADDRESS = "Address", |
| PROP_VALUE = "Value", |
| PROP_BIG_ENDIAN = "BigEndian", |
| PROP_REGISTER = "Register", |
| PROP_FLAGS = "Flags"; |
| <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.3 */</font> |
| <font color=#7F0055>static final</font> String |
| PROP_BIT_STRIDE = "BitStride", |
| PROP_BINARY_SCALE = "BinaryScale", |
| PROP_DECIMAL_SCALE = "DecimalScale"; |
| |
| <font color=#3F5FBF>/** |
| * Symbol context properties update policies. |
| */</font> |
| <font color=#7F0055>static final int</font> |
| <font color=#3F5FBF>/** |
| * Update policy "Memory Map": symbol properties become invalid when |
| * memory map changes - when modules are loaded or unloaded. |
| * Symbol OwnerID indicates memory space (process) that is invalidation events source. |
| * Most static variables and types have this update policy. |
| */</font> |
| UPDATE_ON_MEMORY_MAP_CHANGES = 0, |
| |
| <font color=#3F5FBF>/** |
| * Update policy "Execution State": symbol properties become invalid when |
| * execution state changes - a thread is suspended, resumed or exited. |
| * Symbol OwnerID indicates executable context (thread) that is invalidation events source. |
| * Most stack (auto) variables have this update policy. |
| */</font> |
| UPDATE_ON_EXE_STATE_CHANGES = 1; |
| |
| <font color=#3F5FBF>/** |
| * Retrieve symbol context info for given symbol ID. |
| * @see Symbol |
| * |
| * <font color=#7F9FBF>@param</font> id - symbol context ID. |
| * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed. |
| * <font color=#7F9FBF>@return</font> - pending command handle. |
| */</font> |
| IToken getContext(String id, DoneGetContext done); |
| |
| <font color=#3F5FBF>/** |
| * Client call back interface for getContext(). |
| */</font> |
| <font color=#7F0055>interface</font> DoneGetContext { |
| <font color=#3F5FBF>/** |
| * Called when context data retrieval is done. |
| * <font color=#7F9FBF>@param</font> token - command handle |
| * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded. |
| * <font color=#7F9FBF>@param</font> context - context properties. |
| */</font> |
| <font color=#7F0055>void</font> doneGetContext(IToken token, Exception error, Symbol context); |
| } |
| |
| <font color=#3F5FBF>/** |
| * Retrieve children IDs for given parent ID. |
| * Meaning of the operation depends on parent kind: |
| * 1. struct, union, or class type - get fields; |
| * 2. enumeration type - get enumerators; |
| * |
| * <font color=#7F9FBF>@param</font> parent_context_id - parent symbol context ID. |
| * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed. |
| * <font color=#7F9FBF>@return</font> - pending command handle. |
| */</font> |
| IToken getChildren(String parent_context_id, DoneGetChildren done); |
| |
| <font color=#3F5FBF>/** |
| * Client call back interface for getChildren(). |
| */</font> |
| <font color=#7F0055>interface</font> DoneGetChildren { |
| <font color=#3F5FBF>/** |
| * Called when context list retrieval is done. |
| * <font color=#7F9FBF>@param</font> token - command handle |
| * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded. |
| * <font color=#7F9FBF>@param</font> context_ids - array of available context IDs. |
| */</font> |
| <font color=#7F0055>void</font> doneGetChildren(IToken token, Exception error, String[] context_ids); |
| } |
| |
| <font color=#3F5FBF>/** |
| * Search symbol with given name in given context. |
| * Return first symbol that matches. |
| * The context can be memory space, process, thread or stack frame. |
| * |
| * <font color=#7F9FBF>@param</font> context_id - a search scope. |
| * <font color=#7F9FBF>@param</font> ip - instruction pointer - ignored if context_id is a stack frame ID |
| * <font color=#7F9FBF>@param</font> name - symbol name. |
| * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed. |
| * <font color=#7F9FBF>@return</font> - pending command handle. |
| */</font> |
| IToken find(String context_id, Number ip, String name, DoneFind done); |
| |
| <font color=#3F5FBF>/** |
| * Search symbol with given name in given context. |
| * Return all symbol that matches, starting with current scope and going up to compilation unit global scope. |
| * The context can be memory space, process, thread or stack frame. |
| * |
| * <font color=#7F9FBF>@param</font> context_id - a search scope. |
| * <font color=#7F9FBF>@param</font> ip - instruction pointer - ignored if context_id is a stack frame ID |
| * <font color=#7F9FBF>@param</font> name - symbol name. |
| * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed. |
| * <font color=#7F9FBF>@return</font> - pending command handle. |
| */</font> |
| IToken findByName(String context_id, Number ip, String name, DoneFindAll done); |
| |
| <font color=#3F5FBF>/** |
| * Search symbol with given address in given context. |
| * Return first matching symbol. |
| * The context can be memory space, process, thread or stack frame. |
| * |
| * <font color=#7F9FBF>@param</font> context_id - a search scope. |
| * <font color=#7F9FBF>@param</font> addr - symbol address. |
| * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed. |
| * <font color=#7F9FBF>@return</font> - pending command handle. |
| */</font> |
| IToken findByAddr(String context_id, Number addr, DoneFind done); |
| |
| <font color=#3F5FBF>/** |
| * Search symbol with given address in given context. |
| * Return all matching symbols. |
| * The context can be memory space, process, thread or stack frame. |
| * |
| * <font color=#7F9FBF>@param</font> context_id - a search scope. |
| * <font color=#7F9FBF>@param</font> addr - symbol address. |
| * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed. |
| * <font color=#7F9FBF>@return</font> - pending command handle. |
| * <font color=#7F9FBF>@since</font> 1.3 |
| */</font> |
| IToken findByAddr(String context_id, Number addr, DoneFindAll done); |
| |
| <font color=#3F5FBF>/** |
| * Search symbol with given address in given context. |
| * The context can be memory space, process, thread or stack frame. |
| * |
| * <font color=#7F9FBF>@param</font> context_id - a search scope. |
| * <font color=#7F9FBF>@param</font> ip - instruction pointer - ignored if context_id is a stack frame ID |
| * <font color=#7F9FBF>@param</font> scope_id - a symbols ID of visibility scope. |
| * <font color=#7F9FBF>@param</font> name - symbol name. |
| * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed. |
| * <font color=#7F9FBF>@return</font> - pending command handle. |
| */</font> |
| IToken findInScope(String context_id, Number ip, String scope_id, String name, DoneFindAll done); |
| |
| <font color=#3F5FBF>/** |
| * Client call back interface for find() and findByAddr(). |
| */</font> |
| <font color=#7F0055>interface</font> DoneFind { |
| <font color=#3F5FBF>/** |
| * Called when symbol search is done. |
| * <font color=#7F9FBF>@param</font> token - command handle. |
| * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded. |
| * <font color=#7F9FBF>@param</font> symbol_id - symbol ID. |
| */</font> |
| <font color=#7F0055>void</font> doneFind(IToken token, Exception error, String symbol_id); |
| } |
| |
| <font color=#3F5FBF>/** |
| * Client call back interface for findByName(), findInScope() and findByAddr(). |
| */</font> |
| <font color=#7F0055>interface</font> DoneFindAll { |
| <font color=#3F5FBF>/** |
| * Called when symbol search is done. |
| * <font color=#7F9FBF>@param</font> token - command handle. |
| * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded. |
| * <font color=#7F9FBF>@param</font> symbol_id - symbol ID. |
| */</font> |
| <font color=#7F0055>void</font> doneFind(IToken token, Exception error, String[] symbol_ids); |
| } |
| |
| <font color=#3F5FBF>/** |
| * List all symbols in given context. |
| * The context can be a stack frame. |
| * |
| * <font color=#7F9FBF>@param</font> context_id - a scope. |
| * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed. |
| * <font color=#7F9FBF>@return</font> - pending command handle. |
| */</font> |
| IToken list(String context_id, DoneList done); |
| |
| <font color=#3F5FBF>/** |
| * Client call back interface for list(). |
| */</font> |
| <font color=#7F0055>interface</font> DoneList { |
| <font color=#3F5FBF>/** |
| * Called when symbol list retrieval is done. |
| * <font color=#7F9FBF>@param</font> token - command handle. |
| * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded. |
| * <font color=#7F9FBF>@param</font> symbol_ids - array of symbol IDs. |
| */</font> |
| <font color=#7F0055>void</font> doneList(IToken token, Exception error, String[] symbol_ids); |
| } |
| |
| <font color=#3F5FBF>/***********************************************************************************************/ |
| |
| <font color=#3F5FBF>/** |
| * Command codes that used to calculate frame pointer and register values during stack tracing. |
| */</font> |
| <font color=#7F0055>static final int</font> |
| <font color=#3F5FBF>/** Load a number to the evaluation stack. Command argument is the number. */</font> |
| CMD_NUMBER = 1, |
| |
| <font color=#3F5FBF>/** Load a register value to the evaluation stack. Command argument is the register ID. */</font> |
| CMD_RD_REG = 2, |
| |
| <font color=#3F5FBF>/** Load frame address to the evaluation stack. */</font> |
| CMD_FP = 3, |
| |
| <font color=#3F5FBF>/** Read memory at address on the top of the evaluation stack. Command arguments are |
| * the value size (Number) and endianness (Boolean, false - little-endian, true - big-endian). */</font> |
| CMD_RD_MEM = 4, |
| |
| <font color=#3F5FBF>/** Integer arithmetic and bit-wise <font color=#7F0055>boolean</font> operations */</font> |
| CMD_ADD = 5, |
| CMD_SUB = 6, |
| CMD_MUL = 7, |
| CMD_DIV = 8, |
| CMD_AND = 9, |
| CMD_OR = 10, |
| CMD_XOR = 11, |
| CMD_NEG = 12, |
| CMD_GE = 13, |
| CMD_GT = 14, |
| CMD_LE = 15, |
| CMD_LT = 16, |
| CMD_SHL = 17, |
| CMD_SHR = 18, |
| |
| <font color=#3F5FBF>/** Load expression argument to evaluation stack. */</font> |
| CMD_ARG = 19, |
| |
| <font color=#3F5FBF>/** Evaluate DWARF location expression. Command arguments are byte array of |
| * DWARF expression instructions and an object that contains evaluation parameters. */</font> |
| CMD_LOCATION = 20, |
| |
| CMD_FCALL = 21, |
| CMD_WR_REG = 22, |
| CMD_WR_MEM = 23, |
| CMD_PIECE = 24; |
| |
| <font color=#3F5FBF>/** |
| * @deprecated |
| */</font> |
| <font color=#7F0055>static final int</font> |
| CMD_REGISTER = 2, |
| CMD_DEREF = 4; |
| |
| <font color=#3F5FBF>/** |
| * Symbol location properties. |
| */</font> |
| <font color=#7F0055>static final</font> String |
| <font color=#3F5FBF>/** Number, start address of code range where the location info is valid, or null if it is valid everywhere */</font> |
| LOC_CODE_ADDR = "CodeAddr", |
| <font color=#3F5FBF>/** Number, size in bytes of code range where the location info is valid, or null if it is valid everywhere */</font> |
| LOC_CODE_SIZE = "CodeSize", |
| <font color=#3F5FBF>/** Number, number of argument required to execute location instructions */</font> |
| LOC_ARG_CNT = "ArgCnt", |
| <font color=#3F5FBF>/** List, instructions to compute object value location, e.g. address, or offset, or register ID, etc. */</font> |
| LOC_VALUE_CMDS = "ValueCmds", |
| <font color=#3F5FBF>/** List, instructions to compute dynamic array length location */</font> |
| LOC_LENGTH_CMDS = "LengthCmds"; |
| |
| <font color=#3F5FBF>/** |
| * Retrieve symbol location information. |
| * <font color=#7F9FBF>@param</font> symbol_id - symbol ID. |
| * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed. |
| * <font color=#7F9FBF>@return</font> - pending command handle. |
| */</font> |
| IToken getLocationInfo(String symbol_id, DoneGetLocationInfo done); |
| |
| <font color=#3F5FBF>/** |
| * Client call back interface for getLocationInfo(). |
| */</font> |
| <font color=#7F0055>interface</font> DoneGetLocationInfo { |
| <font color=#3F5FBF>/** |
| * Called when location information retrieval is done. |
| * <font color=#7F9FBF>@param</font> token - command handle. |
| * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded. |
| * <font color=#7F9FBF>@param</font> props - symbol location properties, see LOC_*. |
| */</font> |
| <font color=#7F0055>void</font> doneGetLocationInfo(IToken token, Exception error, Map<String,Object> props); |
| } |
| |
| <font color=#3F5FBF>/** |
| * Retrieve stack tracing commands for given instruction address in a context memory. |
| * <font color=#7F9FBF>@param</font> context_id - executable context ID. |
| * <font color=#7F9FBF>@param</font> address - instruction address. |
| * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed. |
| * <font color=#7F9FBF>@return</font> - pending command handle. |
| */</font> |
| IToken findFrameInfo(String context_id, Number address, DoneFindFrameInfo done); |
| |
| <font color=#3F5FBF>/** |
| * Client call back interface for findFrameInfo(). |
| */</font> |
| <font color=#7F0055>interface</font> DoneFindFrameInfo { |
| <font color=#3F5FBF>/** |
| * Called when stack tracing information retrieval is done. |
| * <font color=#7F9FBF>@param</font> token - command handle. |
| * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded. |
| * <font color=#7F9FBF>@param</font> address - start of instruction address range |
| * <font color=#7F9FBF>@param</font> size - size of instruction address range |
| * <font color=#7F9FBF>@param</font> fp_cmds - commands to calculate stack frame pointer |
| * <font color=#7F9FBF>@param</font> reg_cmds - map register IDs -> commands to calculate register values |
| */</font> |
| <font color=#7F0055>void</font> doneFindFrameInfo(IToken token, Exception error, |
| Number address, Number size, |
| Object[] fp_cmds, Map<String,Object[]> reg_cmds); |
| } |
| |
| <font color=#3F5FBF>/** |
| * Get symbol file info for a module that contains given address in a memory space. |
| * <font color=#7F9FBF>@param</font> context_id - a memory space (process) ID. |
| * <font color=#7F9FBF>@param</font> address - an address in the memory space. |
| * <font color=#7F9FBF>@param</font> done - call back interface called when operation is completed. |
| * <font color=#7F9FBF>@return</font> - pending command handle. |
| */</font> |
| IToken getSymFileInfo(String context_id, Number address, DoneGetSymFileInfo done); |
| |
| <font color=#3F5FBF>/** |
| * Client call back interface for getSymFileInfo(). |
| */</font> |
| <font color=#7F0055>interface</font> DoneGetSymFileInfo { |
| <font color=#3F5FBF>/** |
| * Called when symbol file information retrieval is done. |
| * <font color=#7F9FBF>@param</font> token - command handle. |
| * <font color=#7F9FBF>@param</font> error - error description if operation failed, null if succeeded. |
| * <font color=#7F9FBF>@param</font> props - symbol file properties. |
| */</font> |
| <font color=#7F0055>void</font> doneGetSymFileInfo(IToken token, Exception error, Map<String,Object> props); |
| } |
| } |
| </pre> |
| |
| </body> |
| </html> |