Go to the source code of this file.
◆ StackFrameCallback
typedef Status(* StackFrameCallback) (const _tagSTACKFRAME64 *frame, uintptr_t cbData) |
called for each stack frame found by wdbg_sym_WalkStack.
- Parameters
-
frame | the dbghelp stack frame (we can't just pass the instruction-pointer because dump_frame_cb needs the frame pointer to locate frame-relative variables) |
cbData | the user-specified value that was passed to wdbg_sym_WalkStack |
- Returns
- Status (see RETURN_STATUS_FROM_CALLBACK).
◆ wdbg_sym_WalkStack()
Status wdbg_sym_WalkStack |
( |
StackFrameCallback |
cb, |
|
|
uintptr_t |
cbData, |
|
|
CONTEXT & |
context, |
|
|
const wchar_t * |
lastFuncToSkip = 0 |
|
) |
| |
Iterate over a call stack, invoking a callback for each frame encountered.
- Parameters
-
cb | |
cbData | |
context | Processor context from which to start (taken from an exception record or debug_CaptureContext). |
lastFuncToSkip | |
- Note
- It is safe to use ENSURE/debug_warn/WARN_RETURN_STATUS_IF_ERR even during a stack trace (which is triggered by ENSURE et al. in app code) because nested stack traces are ignored and only the error is displayed.
◆ wdbg_sym_WriteMinidump()
void wdbg_sym_WriteMinidump |
( |
EXCEPTION_POINTERS * |
ep | ) |
|