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.

  • 1=use popup messages
  • 0=debug messages only

ZoneCE: REG_DWORD

  • 0x000043E3
  • This value represents the bitwise OR of the following zone values:
  • CELZONE_PROCESS
  • CELZONE_THREAD
  • CELZONE_RESCHEDULE
  • CELZONE_PRIORITYINV
  • CELZONE_CRITSECT
  • CELZONE_SYNCH
  • CELZONE_LOADER
  • CELZONE_INTERRUPT

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

Other Resources

OSCapture.exe
Real-Time Priority System Levels