|
GEOS SDK TechDocs
|
|
text-fixup ...
|
varwin ...
twalk
twalk
Examples:
-
"twalk"
- print all the timers in the system.
-
"twalk -o ui"
- print all the timers in the system for the ui thread.
-
"twalk -a"
- print all the timers with the "real" data for the time for time remaining rather than maintaining a total.
List all the timers in GEOS.
unalias
unalias <name>+
Examples:
-
"unalias p"
- Removes "p" as an alias for print.
This removes an alias.
-
In fact, this actually can be used to delete any command at all, including Tcl procedures and Swat built-in commands. Once they're gone, however, there's no way to get them back.
See Also: alias.
unassemble
unassemble [<addr> [<decode-args>]]
Examples:
-
"unassemble cs:ip 1"
-
Disassemble the instruction at CS:IP and return a string that shows the values of the arguments involved.
This decodes data as machine instructions and returns them to you to display as you like. It is not usually typed from the command line.
-
The return value is always a four-element list:
{<symbolic-addr> <instruction> <size> <args>}
where <symbolic-addr> is the address expressed as an offset from some named symbol, <instruction> is the decoded instruction (without any leading whitespace), <size> is the size of the instruction (in bytes) and <args> is a string displaying the values of the instruction operands, if <decode-args> was given and non-zero (it is the empty string if <decode-args> is missing or 0).
If <addr> is missing or "nil", the instruction at the current frame's CS:IP is returned.
See Also: listi.
unbind-key
unbind-key <ascii_value>
Examples:
-
"unbind-key \321"
-
Unbinds scroll-down key on host machine.
Unbinds the passed ASCII value.
See Also: alias,
bind-key,
get-key-binding.
undebug
undebug <proc-name>+
Examples:
-
"undebug fooproc"
-
Cease halting execution each time "fooproc" is executing.
Removes a Tcl breakpoint set by a previous "debug" command.
See Also: debug.
up
up [<frame offset>]
Examples:
-
"up"
- move the frame one frame up the stack
-
"up 4"
- move the frame four frames up the stack
Move the frame up the stack.
-
The <frame offset> argument is the number of frame to move up the stack. If none is specified then the current frame is moved up one frame.
-
This command may be repeated by pressing <Return>.
See Also: backtrace,
down.
value
value fetch <addr> [<type>]
value store <addr> <value> [<type>]
value hfetch <num>
value hstore <addr-list>
value hset <number-saved>
value log <addr> <stream> [<type>]
Examples:
-
"value fetch ds:si [type word]"
-
Fetch a word from ds:si
-
"value store ds:si 0 [type word]"
-
Store 0 to the word at ds:si
-
"value hfetch 36"
-
Fetch the 36th address list stored in the value history.
-
"value hstore $a"
-
Store the address list in $a into the value history.
-
"value hset 50"
-
Keep track of up to 50 address lists in the value history.
-
"value log ds:si $s [type word]"
-
Fetch a word from ds:si and dump the binary data to stream $s.
This command allows you to fetch and alter values in the target PC. It is also the maintainer of the value history, which you normally access via @<number> terms in address expressions.
-
"value fetch" returns a value list that contains the data at the given address. If the address has an implied data type (it involves a named variable or a structure field), then you do not need to give the <type> argument.
All integers and enumerated types are returned in decimal. 32-bit pointers are returned as a single decimal integer whose high 16 bits are the high 16 bits (segment or handle) of the pointer. 16-bit pointers are likewise returned as a single decimal integer.
Characters are returned as characters, with non-printable characters converted to the appropriate backslash escapes (for example, newline is returned as \n).
Arrays are returned as a list of value lists, one element per element of the array.
Structures, unions and records are returned as a list of elements, each of which is a 3-element list: {<field-name> <type> <value>} <field-name> is the name of the field, <type> is the type token for the type of data stored in the field, and <value> is the value list for the data in the field, appropriate to its data type.
-
You will note that the description of value lists is recursive. For example, if a structure has a field that is an array, the <value> element in the list that describes that particular field will be itself a list whose elements are the elements of the array. If that array were an array of structures, each element of that list would again be a list of {<field-name> <type> <value>} lists.
-
The "field" command is very useful when you want to extract the value for a structure field from a value list.
-
As for "value fetch", you do not need to give the <type> argument to
-
"value store" if the <addr> has an implied data type. The <value> argument is a value list appropriate to the type of data being stored, as described above.
-
"value hstore" returns the number assigned to the stored address list. These numbers always increase, starting from 1.
-
If no address list is stored for a given number, "value hfetch" will generate an error.
-
"value hset" controls the maximum number of address lists the value history will hold. The value history is a FIFO queue; if it holds 50 entries, and the 51st entry is added to it, the 1st entry will be thrown out.
-
"value log" has the same functionality as value fetch except that data fetched from the PC are dumped into the stream as raw binary data.
See Also: addr-parse,
assign,
field.
|
GEOS SDK TechDocs
|
|
text-fixup ...
|
varwin ...