Process Hacker
|
Go to the source code of this file.
Macros | |
#define | PH_LOCK_SYMBOLS() PhAcquireFastLockExclusive(&PhSymMutex) |
#define | PH_UNLOCK_SYMBOLS() PhReleaseFastLockExclusive(&PhSymMutex) |
Typedefs | |
typedef struct _PH_SYMBOL_MODULE | PH_SYMBOL_MODULE |
typedef struct _PH_SYMBOL_MODULE * | PPH_SYMBOL_MODULE |
Functions | |
VOID NTAPI | PhpSymbolProviderDeleteProcedure (_In_ PVOID Object, _In_ ULONG Flags) |
VOID | PhpRegisterSymbolProvider (_In_opt_ PPH_SYMBOL_PROVIDER SymbolProvider) |
VOID | PhpFreeSymbolModule (_In_ PPH_SYMBOL_MODULE SymbolModule) |
LONG NTAPI | PhpSymbolModuleCompareFunction (_In_ PPH_AVL_LINKS Links1, _In_ PPH_AVL_LINKS Links2) |
DECLSPEC_SELECTANY | PH_CALLBACK_DECLARE (PhSymInitCallback) |
BOOLEAN | PhSymbolProviderInitialization (VOID) |
VOID | PhSymbolProviderCompleteInitialization (_In_opt_ PVOID DbgHelpBase) |
PPH_SYMBOL_PROVIDER | PhCreateSymbolProvider (_In_opt_ HANDLE ProcessId) |
NTSTATUS | PhpSymbolCallbackWorker (_In_ PVOID Parameter) |
BOOL CALLBACK | PhpSymbolCallbackFunction (_In_ HANDLE hProcess, _In_ ULONG ActionCode, _In_opt_ ULONG64 CallbackData, _In_opt_ ULONG64 UserContext) |
BOOLEAN | PhGetLineFromAddress (_In_ PPH_SYMBOL_PROVIDER SymbolProvider, _In_ ULONG64 Address, _Out_ PPH_STRING *FileName, _Out_opt_ PULONG Displacement, _Out_opt_ PPH_SYMBOL_LINE_INFORMATION Information) |
ULONG64 | PhGetModuleFromAddress (_In_ PPH_SYMBOL_PROVIDER SymbolProvider, _In_ ULONG64 Address, _Out_opt_ PPH_STRING *FileName) |
VOID | PhpSymbolInfoAnsiToUnicode (_Out_ PSYMBOL_INFOW SymbolInfoW, _In_ PSYMBOL_INFO SymbolInfoA) |
PPH_STRING | PhGetSymbolFromAddress (_In_ PPH_SYMBOL_PROVIDER SymbolProvider, _In_ ULONG64 Address, _Out_opt_ PPH_SYMBOL_RESOLVE_LEVEL ResolveLevel, _Out_opt_ PPH_STRING *FileName, _Out_opt_ PPH_STRING *SymbolName, _Out_opt_ PULONG64 Displacement) |
BOOLEAN | PhGetSymbolFromName (_In_ PPH_SYMBOL_PROVIDER SymbolProvider, _In_ PWSTR Name, _Out_ PPH_SYMBOL_INFORMATION Information) |
BOOLEAN | PhLoadModuleSymbolProvider (_In_ PPH_SYMBOL_PROVIDER SymbolProvider, _In_ PWSTR FileName, _In_ ULONG64 BaseAddress, _In_ ULONG Size) |
VOID | PhSetOptionsSymbolProvider (_In_ ULONG Mask, _In_ ULONG Value) |
VOID | PhSetSearchPathSymbolProvider (_In_ PPH_SYMBOL_PROVIDER SymbolProvider, _In_ PWSTR Path) |
ULONG64 __stdcall | PhGetModuleBase64 (_In_ HANDLE hProcess, _In_ DWORD64 dwAddr) |
PVOID __stdcall | PhFunctionTableAccess64 (_In_ HANDLE hProcess, _In_ DWORD64 AddrBase) |
BOOLEAN | PhStackWalk (_In_ ULONG MachineType, _In_ HANDLE ProcessHandle, _In_ HANDLE ThreadHandle, _Inout_ LPSTACKFRAME64 StackFrame, _Inout_ PVOID ContextRecord, _In_opt_ PPH_SYMBOL_PROVIDER SymbolProvider, _In_opt_ PREAD_PROCESS_MEMORY_ROUTINE64 ReadMemoryRoutine, _In_opt_ PFUNCTION_TABLE_ACCESS_ROUTINE64 FunctionTableAccessRoutine, _In_opt_ PGET_MODULE_BASE_ROUTINE64 GetModuleBaseRoutine, _In_opt_ PTRANSLATE_ADDRESS_ROUTINE64 TranslateAddress) |
BOOLEAN | PhWriteMiniDumpProcess (_In_ HANDLE ProcessHandle, _In_ HANDLE ProcessId, _In_ HANDLE FileHandle, _In_ MINIDUMP_TYPE DumpType, _In_opt_ PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam, _In_opt_ PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam, _In_opt_ PMINIDUMP_CALLBACK_INFORMATION CallbackParam) |
VOID | PhpConvertStackFrame (_In_ STACKFRAME64 *StackFrame64, _In_ ULONG Flags, _Out_ PPH_THREAD_STACK_FRAME ThreadStackFrame) |
Converts a STACKFRAME64 structure to a PH_THREAD_STACK_FRAME structure. | |
NTSTATUS | PhWalkThreadStack (_In_ HANDLE ThreadHandle, _In_opt_ HANDLE ProcessHandle, _In_opt_ PCLIENT_ID ClientId, _In_opt_ PPH_SYMBOL_PROVIDER SymbolProvider, _In_ ULONG Flags, _In_ PPH_WALK_THREAD_STACK_CALLBACK Callback, _In_opt_ PVOID Context) |
Walks a thread's stack. | |
#define PH_LOCK_SYMBOLS | ( | ) | PhAcquireFastLockExclusive(&PhSymMutex) |
#define PH_UNLOCK_SYMBOLS | ( | ) | PhReleaseFastLockExclusive(&PhSymMutex) |
typedef struct _PH_SYMBOL_MODULE PH_SYMBOL_MODULE |
typedef struct _PH_SYMBOL_MODULE * PPH_SYMBOL_MODULE |
DECLSPEC_SELECTANY PH_CALLBACK_DECLARE | ( | PhSymInitCallback | ) |
PPH_SYMBOL_PROVIDER PhCreateSymbolProvider | ( | _In_opt_ HANDLE | ProcessId | ) |
PVOID __stdcall PhFunctionTableAccess64 | ( | _In_ HANDLE | hProcess, |
_In_ DWORD64 | AddrBase | ||
) |
BOOLEAN PhGetLineFromAddress | ( | _In_ PPH_SYMBOL_PROVIDER | SymbolProvider, |
_In_ ULONG64 | Address, | ||
_Out_ PPH_STRING * | FileName, | ||
_Out_opt_ PULONG | Displacement, | ||
_Out_opt_ PPH_SYMBOL_LINE_INFORMATION | Information | ||
) |
ULONG64 __stdcall PhGetModuleBase64 | ( | _In_ HANDLE | hProcess, |
_In_ DWORD64 | dwAddr | ||
) |
ULONG64 PhGetModuleFromAddress | ( | _In_ PPH_SYMBOL_PROVIDER | SymbolProvider, |
_In_ ULONG64 | Address, | ||
_Out_opt_ PPH_STRING * | FileName | ||
) |
PPH_STRING PhGetSymbolFromAddress | ( | _In_ PPH_SYMBOL_PROVIDER | SymbolProvider, |
_In_ ULONG64 | Address, | ||
_Out_opt_ PPH_SYMBOL_RESOLVE_LEVEL | ResolveLevel, | ||
_Out_opt_ PPH_STRING * | FileName, | ||
_Out_opt_ PPH_STRING * | SymbolName, | ||
_Out_opt_ PULONG64 | Displacement | ||
) |
BOOLEAN PhGetSymbolFromName | ( | _In_ PPH_SYMBOL_PROVIDER | SymbolProvider, |
_In_ PWSTR | Name, | ||
_Out_ PPH_SYMBOL_INFORMATION | Information | ||
) |
BOOLEAN PhLoadModuleSymbolProvider | ( | _In_ PPH_SYMBOL_PROVIDER | SymbolProvider, |
_In_ PWSTR | FileName, | ||
_In_ ULONG64 | BaseAddress, | ||
_In_ ULONG | Size | ||
) |
VOID PhpConvertStackFrame | ( | _In_ STACKFRAME64 * | StackFrame64, |
_In_ ULONG | Flags, | ||
_Out_ PPH_THREAD_STACK_FRAME | ThreadStackFrame | ||
) |
Converts a STACKFRAME64 structure to a PH_THREAD_STACK_FRAME structure.
StackFrame64 | A pointer to the STACKFRAME64 structure to convert. |
Flags | Flags to set in the resulting structure. |
ThreadStackFrame | A pointer to the resulting PH_THREAD_STACK_FRAME structure. |
VOID PhpFreeSymbolModule | ( | _In_ PPH_SYMBOL_MODULE | SymbolModule | ) |
VOID PhpRegisterSymbolProvider | ( | _In_opt_ PPH_SYMBOL_PROVIDER | SymbolProvider | ) |
BOOL CALLBACK PhpSymbolCallbackFunction | ( | _In_ HANDLE | hProcess, |
_In_ ULONG | ActionCode, | ||
_In_opt_ ULONG64 | CallbackData, | ||
_In_opt_ ULONG64 | UserContext | ||
) |
VOID PhpSymbolInfoAnsiToUnicode | ( | _Out_ PSYMBOL_INFOW | SymbolInfoW, |
_In_ PSYMBOL_INFO | SymbolInfoA | ||
) |
static LONG NTAPI PhpSymbolModuleCompareFunction | ( | _In_ PPH_AVL_LINKS | Links1, |
_In_ PPH_AVL_LINKS | Links2 | ||
) |
VOID NTAPI PhpSymbolProviderDeleteProcedure | ( | _In_ PVOID | Object, |
_In_ ULONG | Flags | ||
) |
VOID PhSetOptionsSymbolProvider | ( | _In_ ULONG | Mask, |
_In_ ULONG | Value | ||
) |
VOID PhSetSearchPathSymbolProvider | ( | _In_ PPH_SYMBOL_PROVIDER | SymbolProvider, |
_In_ PWSTR | Path | ||
) |
BOOLEAN PhStackWalk | ( | _In_ ULONG | MachineType, |
_In_ HANDLE | ProcessHandle, | ||
_In_ HANDLE | ThreadHandle, | ||
_Inout_ LPSTACKFRAME64 | StackFrame, | ||
_Inout_ PVOID | ContextRecord, | ||
_In_opt_ PPH_SYMBOL_PROVIDER | SymbolProvider, | ||
_In_opt_ PREAD_PROCESS_MEMORY_ROUTINE64 | ReadMemoryRoutine, | ||
_In_opt_ PFUNCTION_TABLE_ACCESS_ROUTINE64 | FunctionTableAccessRoutine, | ||
_In_opt_ PGET_MODULE_BASE_ROUTINE64 | GetModuleBaseRoutine, | ||
_In_opt_ PTRANSLATE_ADDRESS_ROUTINE64 | TranslateAddress | ||
) |
VOID PhSymbolProviderCompleteInitialization | ( | _In_opt_ PVOID | DbgHelpBase | ) |
NTSTATUS PhWalkThreadStack | ( | _In_ HANDLE | ThreadHandle, |
_In_opt_ HANDLE | ProcessHandle, | ||
_In_opt_ PCLIENT_ID | ClientId, | ||
_In_opt_ PPH_SYMBOL_PROVIDER | SymbolProvider, | ||
_In_ ULONG | Flags, | ||
_In_ PPH_WALK_THREAD_STACK_CALLBACK | Callback, | ||
_In_opt_ PVOID | Context | ||
) |
Walks a thread's stack.
ThreadHandle | A handle to a thread. The handle must have THREAD_QUERY_LIMITED_INFORMATION, THREAD_GET_CONTEXT and THREAD_SUSPEND_RESUME access. The handle can have any access for kernel stack walking. |
ProcessHandle | A handle to the thread's parent process. The handle must have PROCESS_QUERY_INFORMATION and PROCESS_VM_READ access. If a symbol provider is being used, pass its process handle and specify the symbol provider in SymbolProvider. |
ClientId | The client ID identifying the thread. |
SymbolProvider | The associated symbol provider. |
Flags | A combination of flags.
|
Callback | A callback function which is executed for each stack frame. |
Context | A user-defined value to pass to the callback function. |
BOOLEAN PhWriteMiniDumpProcess | ( | _In_ HANDLE | ProcessHandle, |
_In_ HANDLE | ProcessId, | ||
_In_ HANDLE | FileHandle, | ||
_In_ MINIDUMP_TYPE | DumpType, | ||
_In_opt_ PMINIDUMP_EXCEPTION_INFORMATION | ExceptionParam, | ||
_In_opt_ PMINIDUMP_USER_STREAM_INFORMATION | UserStreamParam, | ||
_In_opt_ PMINIDUMP_CALLBACK_INFORMATION | CallbackParam | ||
) |
_MiniDumpWriteDump MiniDumpWriteDump_I |
PPH_OBJECT_TYPE PhSymbolProviderType |
_StackWalk64 StackWalk64_I |
_SymbolServerGetOptions SymbolServerGetOptions |
_SymbolServerSetOptions SymbolServerSetOptions |
_SymCleanup SymCleanup_I |
_SymEnumSymbols SymEnumSymbols_I |
_SymEnumSymbolsW SymEnumSymbolsW_I |
_SymFromAddr SymFromAddr_I |
_SymFromAddrW SymFromAddrW_I |
_SymFromName SymFromName_I |
_SymFromNameW SymFromNameW_I |
_SymFunctionTableAccess64 SymFunctionTableAccess64_I |
_SymGetLineFromAddr64 SymGetLineFromAddr64_I |
_SymGetLineFromAddrW64 SymGetLineFromAddrW64_I |
_SymGetModuleBase64 SymGetModuleBase64_I |
_SymGetOptions SymGetOptions_I |
_SymGetSearchPath SymGetSearchPath_I |
_SymGetSearchPathW SymGetSearchPathW_I |
_SymInitialize SymInitialize_I |
_SymLoadModule64 SymLoadModule64_I |
_SymLoadModuleExW SymLoadModuleExW_I |
_SymRegisterCallbackW64 SymRegisterCallbackW64_I |
_SymSetOptions SymSetOptions_I |
_SymSetSearchPath SymSetSearchPath_I |
_SymSetSearchPathW SymSetSearchPathW_I |
_SymUnloadModule64 SymUnloadModule64_I |