The Profiler command-line tool that executes on a target device reads its settings from a Profiler settings file. The GUI version creates a settings file from user imput, and then calls the command-line executable. The commands that a settings file can contain are shown in Table 1.
The settings file contents must conform to the syntax described above. You can generate a valid configuration file by starting the Carbide.c++ Profiler GUI, selecting suitable settings, and then exiting the GUI. By default, the settings file created is called C:\Data\CProfSettings.txt.
Option |
Syntax | Description |
---|---|---|
Profiler | version version | Restrict your settings file to a particular Profiler version. For example: version 1.60 |
Traces | button trace on|off | Enables or disables button capture trace. |
call trace on|off | Enables or disables function call capture trace. | |
dynamic trace on|off | Enables or disables dynamic binary support trace. | |
memory trace on|off | Enables or disables memory usage trace. | |
power trace on|off | Enables or disables power usage trace. | |
priority trace on|off | Enables or disables priority capture trace. | |
Intervals | memorypriority interval interval |
Set the interval between each check of memory usage and thread priorities. interval is the number of msecs, in decimal, between successive checks. The minimum interval is 50 msec. |
addressthread interval interval | Set the interval between each check of the program counter address and current thread. interval is between 1 and 10000, and specifies the number of msecs between successive address and thread checks. |
|
power interval interval | Set the interval between checks of power usage. interval is the number of msecs, in decimal, between successive checks. The minimum interval is 250 msec. |
|
Files | output file phone|external |
Set where output is written, either to a file on the phone, to a file on an external memory card, or to the debug port.
NOTE On the phone, the file directory is C:\Data\PI; on an external memory card, the file directory is E:\PI. |
prefix prefix | Set the output file prefix. prefix is a base file name of up to a 31 characters. It may contain at most one # character. In the actual output file name, the Profiler will substitute an integer for the #. |
|
SISA | If your code executes on a SISA single chip, then the Profiler needs to know whether a task is a Symbian OS task or an ISA OS task. The Profiler needs the addresses of the start and end of ISA code space, as well as where in ISA code space to find the start of ISA tasks. | |
isa codespace start end | Change the ISA code space address range.
|
|
isa taskstart start isa taskoffset offset |
Change the address of the lowest addressed ISA task.
NOTE The ISA task address must be within the current ISA code space range. The sum of the ISA task offset plus the current ISA code space start must be less than or equal to the current ISA code space end. |
; Carbide.c++ Profiler Settings File
; Profiler version (use this command to restrict settings file to a particular version)
version 1.60
; dynamic binary support on or off
dynamic trace on
; function call capture on or off
call trace off
; button press capture on or off
button trace off
; memory usage capture on or off
memory trace off
; thread priority capture on or off
priority trace off
; power usage capture on or off
power trace off
; "output file phone" writes *.dat file to phone
; "output file external" writes *.dat file to external memory
; "output debug" outputs to debug port
output file external
; if writing to file, prefix of the *.dat file
; first '#' in the prefix is replaced with an integer
prefix PI_#
; interval, in ms, at which memory usage and thread priorities are checked
memorypriority interval 1000
; interval, in ms, at which power usage is checked
power interval 250
; for ISA OS, the code space start and end addresses, separated by spaces or tabs
; addresses are in hex (optional prefix is 0x)
isa codespace 0 0
; for ISA OS, the offset from the start of code space to the first ISA task
; address is in hex (optional prefix is 0x)
isa taskoffset 0
addressthread interval <number>", where <number> is between 1 and 10000 inclusive