Debugging Tools for Windows

Configuring the Registry

SymProxy stores its settings in the registry key

.

This registry key controls the location from which to find symbols to store in the Web site, the logging level, and whether or not SymProxy operates with a direct connection to the network. You can create this key by running the SymProxy registration tool (Symproxy.reg) provided with Debugging Tools for Windows. Type symproxy.reg at the command prompt or double-click it from Windows Explorer.

Web Directories

For each virtual directory generated in IIS that you are using as a symbol store, you must setup a registry key below the Web Directories subkey of the following registry key.

HKLM/Software/Microsoft/Symbol Server Proxy

To set up a registry key for a symbol store virtual directory
  1. 1.Create the registry key under the Web Directories key that has the same name as the virtual directory.
  2. 2.Create a new String Value or Expandable String Value called SymbolPath for the registry key that you just created.
  3. 3.Edit the contents of SymbolPath to contain all of the symbol stores used by the SymProxy symbol store. If there is more than one symbol store being used, separate them with semicolons. A maximum of 10 stores is supported for each value. HTTP paths must include the http:// prefix, and UNC paths must include the \\ prefix.

For example, if one of the virtual directories is called Symbols, and the symbols stores that it accesses are located at the UNC store \\symbols\symbols and the HTTP store http://msdl.microsoft.com/download/symbols, create the following registry key.

HKLM/Software/Microsoft/Symbol Server Proxy/Web Directories/symbols

After this key is created, edit its SymbolPath to be \\symbols\symbols;http://msdl.microsoft.com/download/symbols. This can be seen in the following screenshot of the Registry Editor.

Registry Example

In this example, SymProxy first searches for symbols in \\symbols\symbols. If the files are not found there, the Microsoft Symbol Store will be used.

You can also define a global source for all symbol files by generating a SymbolPath value directly in the Web Directories key. However, we do not recommend this because it causes malformed symbol requests from debugging clients to generate spurious directories and files in the root of your Web site.

Logging

SymProxy reports its activity to the Application Event Viewer. The value stored in Loglevel determines the level of reporting. This is a REG_DWORD located in the “Symbol Server Proxy” key. Typically, the default setting is 0, but you can change this to any of the following values:

Loglevel Reporting Level
0 quiet
1 error
2 succss
3 info
4 warning
5 debug

If you have trouble moving files into the symbol store, you can adjust these values to determine what is happening. If you set Loglevel to 5, all activity is available in the Event Viewer. To determine where files come from and to examine the initialization, set Loglevel to 3.

In order to complete the logging configuration, you must register SymProxy with the Application Event Viewer.

To register SymProxy with the Application Event Viewer
  1. 1.Create the registry key

    HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Application\SymProxy 

  2. 2.Within this key, create a new Expandable String Value (REG_EXPAND_SZ) named EventMessageFile.
  3. 3.Set the contents of this string to %WINDIR%\system32\inetsrv\symproxy.dll.

SymProxy is now labeled as a message source in the registry, and logging is activated.

Accessing Outside Network Resources

You may also need to set up HTTP proxy settings so that the service can access outside network resources. You can do this using the ProxyCfg tool (Proxycfg.exe). For instructions, type proxycfg.exe -? in the Command-line window. The default behavior of SymProxy is to use whatever HTTP proxy is designated by this program. If no HTTP proxy is configured, SymProxy uses a dummy proxy, which allows for access to secure HTTP sites within your intranet. As a side effect, it also prevents SymProxy from working with direct connections to the external Internet. To permit SymProxy to operate with a direct connection to the Internet, create a REG_DWORD called NoInternetProxy located in the Symbol Server Proxy key. Set this value to 1 and verify that there is no HTTP proxy indicated by ProxyCfg.

Build machine: CAPEBUILD