64 lines
980 B
C
64 lines
980 B
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 ));
|
|
}
|
|
}
|