|
The following example application shows information about threads, processes and tasks, which are useful during Symbian OS application development.
Download Process Info example code>>
The example application is built using the following commands:
$ bldmake bldfiles $ abld build armi urel $ makesis processinfo.pkg
When the application is started, three tabs are shown for threads, processes and tasks. The items that exist when the application is started are shown below:
When starting the program, the current operating system state is read and certain attributes about the threads, processes and tasks are stored. This information is shown when a list box item is selected.
Selecting an item will display more detailed information about that item, as shown by the images below:
Thread tab A thread has a priority, which ranges from EPriorityLow to EPrioritySupervisor. The request count is the request semaphore count for the thread, and the handle count is the number of handles open in the thread. The heapsize and stacksize are also shown.
Process tab A process has both a name and a filename. The filename is the full path name of the loaded executable on which this process is based. A process can be loaded from RAM and may be protected. The process also has a priority. The exit reason is the specific reason associated with the end of this process. The reason number together with the category name is a way of distinguishing between different causes of process termination. Three UID's are associated with a process.
Task tab A task can have a document with a name. For example, start the web browser and then start the Process Info example application. This will show the document name associated with the web browser.
A task can be busy, a system task or a hidden task. The window group associated with the task has a name consisting of four parts:
- Name of the document that the task is handling
- Task caption including busy and system status
- Windows group name including status information for the task as two hexadecimal characters, application specific UID as eight hexadecimal characters and a name
- Task caption including hidden status
More information can be found in the UIQ SDK: UIQ 2.1 SDK / Developer Library / API Reference / C++ API reference / Threads and Processes
UIQ 2.1 SDK / Developer Library / API Reference / C++ API reference / Application Architecture Services
|