OSCapture Registry Settings (Windows Embedded CE 6.0)
1/5/2010
You can modify the behavior of the OSCapture.exe application that flushes the CeLog log by changing specific registry values.
The CeLog registry settings are located under the HKEY_LOCAL_MACHINE\System\CeLog key.
The following list shows the ways in which you can change the registry settings:
- Typically, to create a run-time image with predefined settings, add registry settings to the projects file before building the run-time image.
- You can also use the Remote Registry Editor in Platform Builder to add the settings to a device. However, changes made from the Remote Registry Editor are not persistent to the registry files. Therefore, the next time that you download the image, you must configure the registry again.
The following table shows the named values you can set for the CeLog key.
Value: type | Default | Description |
---|---|---|
BufferSize: REG_DWORD |
0x00020000 = 131072, or 128KB |
Specifies the size, in bytes, of the CeLog RAM buffer that stores event activity before flushing. |
FileName: REG_SZ |
"\OSCapture.clg" |
Name of log file to store the data in. |
FileSize: REG_DWORD |
0, no limit |
Specifies a size limit for the generated log file, in hexadecimal. At the beginning of a flush, if the log file exceeds the specified size, the log file is renamed. This option forces the FileFlags value to be set to 2. |
FlushTimeout: REG_DWORD |
0x000007D0 = 2000, or 2 seconds. |
Sets the timeout, in milliseconds, between successive "flushes." Note that OSCapture does not actually write data to a file until it is triggered; this value controls how much data is buffered in RAM. |
SavedFlushes: REG_DWORD |
0x0000000F = 15 |
Sets the number of "flushes" to buffer in RAM. |
ThreadPriority: REG_DWORD |
0x000000F8 = 248, the lowest real-time priority. |
Sets the priority of the flushing thread (0-255). |
Transport: REG_SZ |
LocalFile |
Transport to use. This value must be one of the following: |
UseUI: REG_DWORD |
0 |
Boolean value that indicates type of messages.
|
ZoneCE: REG_DWORD |
|
Specifies the CeLog zone settings. If this value is present, OSCapture will call CeLogSetZones to pass the zones to CeLog. |
Since, by default, OSCapture buffers 15 flushes of 2 seconds each, it buffers a total of 30 seconds of data by default.
If the RAM buffer is too small to hold this quantity of data, the actual amount of data in the buffer may be less.
Examples
The following examples show how to set common registry values that control OSCapture behavior.
Default
These settings store the data in a log file called celog.clg in the release directory on the host PC.[HKEY_LOCAL_MACHINE\System\CeLog] "Transport"="LocalFile" "FileName"="\OSCapture.clg"
Log file on a storage card.
This method requires a storage card on a device.[HKEY_LOCAL_MACHINE\System\CeLog] "Transport"="LocalFile" "FileName"="\\Storage Card\\OSCapture.clg"
"Flush" every second
[HKEY_LOCAL_MACHINE\System\CeLog] "FlushTimeout"=dword:3E8
Low priority of flush thread
This method lowers the thread priority for log flush from the default of 248 to 251, which corresponds to THREAD_PRIORITY_NORMAL.[HKEY_LOCAL_MACHINE\System\CeLog] "ThreadPriority"=dword:FB
See Also
Reference
OSCapture Command-Line Overrides