Using the WinInet Debug Engine (Windows Embedded CE 6.0)
1/6/2010
WinInet includes a debug engine that you can use to configure the debug output for WinInet. This engine is supported by the WinInet shell extension. To use the debug engine, you must load the shell extension, configure the control options, and then restart WinInet.
Assumption: You have a debug build of your run-time image on your target device.
To load the shell extension, type the following command in the command prompt of the shell window on your target device.
loadext wininet
After the shell extension is loaded you can use the debug controls for WinInet. The wininet
prefix specifies controls for WinInet. To see the supported controls, type the following command at the command prompt of the shell window.
wininet
The following table shows the supported debug controls with a description of the purpose of each.
Debug control | Description |
---|---|
Err |
Specifies the error control flags. |
Ctl |
Specifies the control flags and the control debug output. |
Cat |
Specifies debug categories. |
Break |
Breaks into the debugger. |
Indent |
Specifies the indent for the debug output. |
File |
Specifies the file name to which the debug output is redirected. This control is used only if DBG_TO_FILE is set in control flags. |
To see the current settings for the debug control, type the following command at the command prompt of your shell window.
wininet <Debug Control>
To set a value for the debug control, type the following command at the command prompt of your shell window.
wininet <Debug Control> <FlagValue>
You can configure the debug control options by using the registry. For more information about these registry settings, see WinInet Debug Engine Settings in WinInet Registry Settings.
Err
This debug control is used to specify the error control flags. The following list shows the possible flag values for the Err debug control.
- 0x0 - None
- 0x1 - Information
- 0x4 - Error
- 0x5 - All
Ctl
This debug control is used to configure the debug output. The following table shows the possible flag values for Ctl. Each value is a bit in 32-bit or 4-Byte DWORD. Each row has four values and two rows cover 1 byte. Some of these are marked as Reserved.
Control flag | Description |
---|---|
Thread Info (0x00000001) |
Prints thread information. |
Call Depth (0x00000002) |
Prints call depth. |
Entry Time (0x00000004) |
Prints the entry time. |
Parameter List (0x00000008) |
Prints the parameter list. |
To Debugger (0x00000010) |
Sends output to the debugger. |
To File (0x00000040) |
Redirects the debug output to a file. |
Flush Output (0x00000080) |
If output is directed to a file, flushes the file after each debug statement |
Indent Debug (0x00000100) |
Indents the output, to view call stacks easily. |
Line After API (0x00000200) |
Inserts an empty line after an API call. |
Break On Assert (0x00000800) |
Breaks on Assert. |
Length Info (0x00001000) |
Adds length information while sending data. |
No Line Number (0x00002000) |
Inserts line numbers in the file that contains the debug statement. |
Append To File (0x00004000) |
Appends the debug output to an existing file. |
Level Indicator (0x00008000) |
Reserved. |
At API Level (0x00010000) |
Sends API-specific data. |
Delta Time (0x00020000) |
Sends length of time in this thread. |
Cumulative Time (0x00040000) |
Sends length of time since loading WinInet. |
Thread Info Addr (0x00100000) |
Sends address of thread information structure. |
Async ID (0x00400000) |
Sends the asynchronous identifier. |
Request Handle (0x00800000) |
Sends the request handle. |
Trigger On (0x10000000) |
Enables the trigger. |
Trigger Off (0x20000000) |
Disables the trigger. |
Data Dump Off (0x40000000) |
Disables sending data. |
No Debug output 0x80000000 |
Disables debug output. |
Cat
This debug control is used to toggle WinInet functionalities based on your requirements. The following list shows the possible flag values for the Cat debug control that specify debug categories.
- 0x00000001 - Inet
- 0x00000002 - Ftp
- 0x00000008 - Http
- 0x00000010 - Api
- 0x00000020 - Util
- 0x00000040 - Unicode
- 0x00000080 - Worker
- 0x00000100 - Handle
- 0x00000200 - Session
- 0x00000400 - Sockets
- 0x00004000 - MemAlloc
- 0x00008000 - Serialized List
- 0x00010000 - Thread Info
- 0x00020000 - Protocol
- 0x00040000 - DLL
- 0x00080000 - Reference Count
- 0x00100000 - Registry
- 0x00200000 - Trace Sockets
- 0x00400000 - Async
- 0x00800000 - Cache
- 0x01000000 - Invalid Handles
- 0x02000000 - Objects
- 0x04000000 - Proxy
- 0x08000000 - Resource Lock
- 0x10000000 - Dialup
- 0x20000000 - Global
- 0x40000000 - Authentication
Break
This debug control is used to break into the debugger. The values for this control are the same as those listed for the Cat debug control.
Indent
This debug control is used to specify the length of indentation spaces for lines in the same thread.
File
This debug control is used to specify the name of the file to which the debug output is redirected.
See Also
Other Resources
WinInet OS Design Development
Windows Internet Services (WinInet)