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>

Include dependency graph for Stack_Trace.cpp:


struct  _dbghelp_functions
struct  frame_state


#define MAXTEXT   5000
#define SYMSIZE   100
#define LINK(TYPE, NAME)
#define LINK_T(NAME)   LINK (dbghelp_functions::NAME##_t, NAME)


typedef struct _dbghelp_functions dbghelp_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.

Stack_Trace.cpp 83041 2008-10-10 08:58:17Z sma

Portions of the platform-specific code have been based on code found in various places on the internet e.g., google groups, VxWorks FAQ, etc., and adapted for use here.

Define Documentation

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

Generated on Thu Nov 27 04:47:27 2008 for ACE by  doxygen 1.5.6