ACE  6.1.0
Classes | Defines | Typedefs | Functions
Stack_Trace.cpp File Reference

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)

Detailed Description

Encapsulate string representation of stack trace.

Id:
Stack_Trace.cpp 95534 2012-02-17 23:19:33Z mitza

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 Documentation

#define LINK (   TYPE,
  NAME 
)
Value:
(pDbg->NAME = \
    (TYPE) GetProcAddress (pDbg->hMod, #NAME))
#define LINK_T (   NAME)    LINK (dbghelp_functions::NAME##_t, NAME)
#define MAXTEXT   5000
#define SYMSIZE   100

Typedef Documentation


Function Documentation

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 size_t determine_starting_frame ( ssize_t  initial_frame,
ssize_t  offset 
) [inline, static]
static void emptyStack ( ) [static]
static bool load_dbghelp_library_if_needed ( dbghelp_functions pDbg) [static]
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines