SYMBOLS.C
/*++ 
 
Copyright (c) 1993  Microsoft Corporation 
 
Module Name: 
 
    symbols.c 
 
Abstract: 
 
    This file contains all support for the symbol table. 
 
Author: 
 
    Wesley Witt (wesw) 1-May-1993 
 
Environment: 
 
    User Mode 
 
--*/ 
 
#include <windows.h> 
#include <stdlib.h> 
#include <stdio.h> 
#include <string.h> 
#include <imagehlp.h> 
 
#include "drwatson.h" 
#include "proto.h" 
#include "messages.h" 
 
 
 
BOOL 
SymbolEnumFunc( 
    LPSTR   SymbolName, 
    ULONG   Address, 
    ULONG   Size, 
    PVOID   Cxt 
    ) 
{ 
    lprintfs( "%08x %08x   %s\r\n", Address, Size, SymbolName ); 
    return TRUE; 
} 
 
 
VOID 
DumpSymbols( 
    PDEBUGPACKET dp 
    ) 
{ 
    IMAGEHLP_MODULE   mi; 
 
 
    if (SymGetModuleInfo( dp->hProcess, 0, &mi )) { 
        lprintf( MSG_SYMBOL_TABLE ); 
        do { 
            lprintfs( "%s\r\n\r\n", mi.ImageName ); 
            SymEnumerateSymbols( dp->hProcess, mi.BaseOfImage, SymbolEnumFunc, NULL ); 
        } while( SymGetModuleInfo( dp->hProcess, (DWORD)-1, &mi )); 
    } 
}