NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXTENDED DESCRIPTION | EXAMPLES | ENVIRONMENT VARIABLES | ATTRIBUTES | SEE ALSO
chls is a host utility.
chls is a utility tool based on the Debug API to list the objects of the target. The tool has two modes:
A target oriented mode in which the options apply to one or several targets. In this mode, it provides most of the options of the cs tool and produces similar output. Additional options are provided for passive debugging analysis.
A second mode that allows you to look at all the objects and attributes of the Debug Object Tree.
The selection of the mode is based on the option that you use.
In the target mode, you specify a set of options eventually followed by one or several target names. If you don't specify a target name, chls searches and uses the first active target registered to the DebugServer. The targets that you specify must be registered to the Debug Server (see chadmin(1CC) and chserver). Refer to the cs(1CC) utility for a detailed explanation of the listing produced by the -lA, -la, -lt, -lM, -lr and -ll options.
The following options are supported in the target mode which they activate:
Prints the list of running actors.
Prints the microkernel resources belonging to the actors whose local identifiers actor follow the option.
Prints the list of running threads.
Prints the microkernel resources belonging to the threads whose local identifiers follow the option. For example:
-chls -lt ti1 ti2 ti3
prints the microkernel resources for threads identified by -ti1, ti2, ti3.
Prints the microkernel resources statistics.
Prints target image description.
Gives some information about exception handlers installed by the system.
Prints the last nbline lines of the microkernel system log (see sysLog(2K)), if any.
Skips the last nlines lines of the microkernel system log before listing the log.
Prints the list of microkernel modules
Prints the target RAM description
Prints the processor general registers. The output indicates the register name, the value in decimal and also in hexadecimal.
Prints the processor specific registers.
Prints the processor floating point registers.
Prints all of the above three classes of registers.
Dumps the content of i386 TSS. Addresses passed as parameter to this option represent the addresses of the TSS to be dumped. Addresses of i386 TSS are generally obtained by looking at the global descriptors.
Dumps the description of cnt i386 descriptors starting at address addr. The i386 has a global descriptor table whose address can be obtained by looking at the gdtr register. It also has a local descriptor table whose address is obtained by looking at the ldtr register.
Finds the system image component which owns the address.
Dumps the memory area given a logical description of it (Refer to the extended description).
The following options are supported in the alternative mode:
Lists all the attribute.s
Lists only the attributes related to browsing information.
Lists the attributes related to debug information.
Flat listing. Each object is printed with an absolute name. If attributes are printed, they are also listed with an absolute name.
Prints the integer attributes in decimal .form.
Prints the integer attributes in hexadecimal form.
The sub-objects of a given object are listed according to the format string of the object.
Help option. The usage of the tool is printed and the tool exits with the status code.
Lists the objects.
Lists the pre-defined attributes related to debug information.
Recursive listing of the objects.
Lists the targets registered in the DebugServe.
chls allows you to dump the memory of the target. The memory dump is based on a logical description that you provide of the memory area. This logical description includes pointers so that linked lists and arbitrary complex data structures can be dumped.
The description is a string, each character of the string indicates the size of a basic entity to dump and how to dump it. When the entity is dumped, the address is incremented by the size of the entity. The description string contains the following characters:
Dump 1 byte in hexadecimal.
Dump 1 byte in character mode.
Dump 2 bytes in hexadecimal.
Dump 4 bytes in hexadecimal.
Dump 4 bytes in decimal.
Dump 8 bytes in hexadecimal.
Dump N bytes in character mode.
Read a 4-bytes pointer and dump the string pointed to by it.
Read a 4-bytes pointer and dump with the same memory description, the memory area pointed to by that pointer.
For example, the description string ls444 represents a structure composed of a pointer to the next element, a pointer to a string and three 32-bits integers. The use of the -dump requires some knowledge of the data structures to be dumped. It is possible to guess the structure by trying first to dump it as 32-bits integers, for example with 44444. Then, depending on values that are reported, and whether they look like possible pointers, you can switch the corresponding 4 into an s or an l.
To list the actors and the threads of a given target, use the following command:
chls --lA --lT mytarget
To list the objects that represent the actors in the Debug Object Tree, use the following command:
chls --flat --l targets/mytarget/actors
If you use the -format option instead of -flat option, you will obtain the same output as the -lA option. For example:
chls --format --l targets/mytarget/actors
The following environment variable is read by chls:
CHSERVER_HOST
The host name where the DebugServer is running.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXTENDED DESCRIPTION | EXAMPLES | ENVIRONMENT VARIABLES | ATTRIBUTES | SEE ALSO