97 lines
1.9 KiB
C
97 lines
1.9 KiB
C
/*++
|
|
|
|
Copyright (c) 1992 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
symhelp.h
|
|
|
|
Abstract:
|
|
|
|
Defines the interfaces to the SYMHELP dynamic link library. Useful for programs
|
|
that want to maintain a debug informaiton data base.
|
|
|
|
Author:
|
|
|
|
Steve Wood (stevewo) 11-Mar-1994
|
|
|
|
Revision History:
|
|
|
|
Mike Seaman (mikese) 20-Jan-1995 Added TranslateAddress
|
|
|
|
--*/
|
|
|
|
#ifndef _SYMHELP_
|
|
#define _SYMHELP_
|
|
|
|
typedef enum _LOAD_SYMBOLS_FILTER_REASON {
|
|
LoadSymbolsPathNotFound,
|
|
LoadSymbolsDeferredLoad,
|
|
LoadSymbolsLoad,
|
|
LoadSymbolsUnload,
|
|
LoadSymbolsUnableToLoad
|
|
} LOAD_SYMBOLS_FILTER_REASON;
|
|
|
|
typedef BOOL (*PLOAD_SYMBOLS_FILTER_ROUTINE)(
|
|
HANDLE UniqueProcess,
|
|
LPSTR ImageFilePath,
|
|
DWORD ImageBase,
|
|
DWORD ImageSize,
|
|
LOAD_SYMBOLS_FILTER_REASON Reason
|
|
);
|
|
|
|
BOOL
|
|
InitializeImageDebugInformation(
|
|
IN PLOAD_SYMBOLS_FILTER_ROUTINE LoadSymbolsFilter,
|
|
IN HANDLE TargetProcess,
|
|
IN BOOL NewProcess,
|
|
IN BOOL GetKernelSymbols
|
|
);
|
|
|
|
BOOL
|
|
AddImageDebugInformation(
|
|
IN HANDLE UniqueProcess,
|
|
IN LPSTR ImageFilePath,
|
|
IN DWORD ImageBase,
|
|
IN DWORD ImageSize
|
|
);
|
|
|
|
BOOL
|
|
RemoveImageDebugInformation(
|
|
IN HANDLE UniqueProcess,
|
|
IN LPSTR ImageFilePath,
|
|
IN DWORD ImageBase
|
|
);
|
|
|
|
PIMAGE_DEBUG_INFORMATION
|
|
FindImageDebugInformation(
|
|
IN HANDLE UniqueProcess,
|
|
IN DWORD Address
|
|
);
|
|
|
|
ULONG
|
|
GetSymbolicNameForAddress(
|
|
IN HANDLE UniqueProcess,
|
|
IN ULONG Address,
|
|
OUT LPSTR Name,
|
|
IN ULONG MaxNameLength
|
|
);
|
|
|
|
//
|
|
// The following function is essentially identical in operation to
|
|
// GetSymbolicNameForAddress, except that it:
|
|
//
|
|
// 1. Operates only on the calling process.
|
|
// 2. Does not require any previous calls to AddImageDebugInformation et al.
|
|
// That is, debug information for all currently loaded modules will
|
|
// be added automatically.
|
|
|
|
ULONG
|
|
TranslateAddress (
|
|
IN ULONG Address,
|
|
OUT LPSTR Name,
|
|
IN ULONG MaxNameLength
|
|
);
|
|
|
|
#endif
|