ACE
6.1.0
|
Encapsulate string representation of stack trace. More...
#include "ace/Stack_Trace.h"
#include "ace/Min_Max.h"
#include "ace/OS_NS_string.h"
#include "ace/OS_NS_stdio.h"
#include <windows.h>
#include <Dbghelp.h>
Classes | |
struct | _dbghelp_functions |
struct | frame_state |
Defines | |
#define | MAXTEXT 5000 |
#define | SYMSIZE 100 |
#define | LINK(TYPE, NAME) |
#define | LINK_T(NAME) LINK (dbghelp_functions::NAME##_t, NAME) |
Typedefs | |
typedef struct _dbghelp_functions | dbghelp_functions |
Functions | |
static size_t | determine_starting_frame (ssize_t initial_frame, ssize_t offset) |
static bool | load_dbghelp_library_if_needed (dbghelp_functions *pDbg) |
static int | add_frame_to_buf (struct frame_state const *fs, void *usrarg) |
static void | emptyStack () |
static int | cs_operate (int(*func)(struct frame_state const *, void *), void *usrarg, size_t starting_frame, size_t num_frames) |
Encapsulate string representation of stack trace.
Some platform-specific areas of this code have been adapted from examples found elsewhere. Specifically,
If you add support for a new platform, please add a bullet to the above list with durable references to the origins of your code.
#define LINK | ( | TYPE, | |
NAME | |||
) |
(pDbg->NAME = \ (TYPE) GetProcAddress (pDbg->hMod, #NAME))
#define LINK_T | ( | NAME | ) | LINK (dbghelp_functions::NAME##_t, NAME) |
#define MAXTEXT 5000 |
#define SYMSIZE 100 |
typedef struct _dbghelp_functions dbghelp_functions |
static int add_frame_to_buf | ( | struct frame_state const * | fs, |
void * | usrarg | ||
) | [static] |
static int cs_operate | ( | int(*)(struct frame_state const *, void *) | func, |
void * | usrarg, | ||
size_t | starting_frame, | ||
size_t | num_frames | ||
) | [static] |
static void emptyStack | ( | ) | [static] |
static bool load_dbghelp_library_if_needed | ( | dbghelp_functions * | pDbg | ) | [static] |