InfoPurge Programming Tips
Setting up a Symbol Server

Setting up a Symbol Server

  1. Overview.
  2. Set your projects up to generate symbol files (PDB - Program DataBase).
  3. Set your release build or daily build to add PDBs and product binaries to a symbol store.
  4. Change debugger configuration to point to use a symbol server to access the symbol store (and the Microsoft online symbol store).
  5. How the debugger locates symbol files.

Read More

Integrate creation of WinQual mapping files with your build

If you use WinQual you’ll be familiar with running the Microsoft Product Feedback Mapping Tool each time you ship your product. You might not have discovered that the tool includes command line support, which means you can create mapping files as part of your build.

Read More

The format of a minidump (mdmp) file.

Introduction

This blog describes the basic structure and contents of a minidump file for those that want a brief overview without having to trawl the header files. A mdmp file is generated when an application crash (known as an exception) occurs in a Windows application. It contains varying amounts of information that can help the application developer determine the reason for the crash. Minidumps are normally analyzed using a debugger (windbg or Visual Studio) using symbol data that the programmer has access to.

Read More

Setting up a Source Server

Introduction

In order to effectively debug dump files from end users, it is necessary to have access to product symbols. Product symbols are generated during the product build and are normally contained in PDB (or DBG) files. When using a debugger to analyze a dump file, a PDB matching the exact version of the binary file (DLL or EXE) is required.

Read More

Debugging a managed dump file with sos and psscor.

Introduction

The debuggers that come for free with Debugging Tools for Windows are native code debuggers. Out of the box, they don’t understand managed code or the Common Language Runtime (CLR) internal data structures.

In the early days of .NET, Microsoft developed a debugger extension DLL they called Strike to aid debugging the .NET framework and CLR. This DLL was originally intended for internal use within Microsoft. However, they soon realized that it would be invaluable as a debugging aid for the wider .NET programming community, so they changed its name to Son Of Strike (SOS.DLL) and released it as part of the CLR binary distribution.

Read More

How does cdb access the Microsoft Symbol Server from within a Windows Service.

This blog addresses some of the issues related to running cdb from within a Windows Service.

Read More

What is StackHash?

Windows Vista “Problem Reports and Solutions” in Control Panel (click “Classic View”) allows you to define how application crashes are handled by Windows.
When you double click the item and select “Change Settings” you can configure Windows to “Check for solutions automatically” and in Advanced Settings, clicking “Automatically send more information if it is needed to help solve problems” will allow the transmission of more information to help the developer of the application fix issues.

Read More