|
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 |