libcsdbg  1.28
C++ exception (and generic) stack trace debug library
csdbg Namespace Reference

Complete library namespace. More...

Classes

class  call
 This class represents a program/library runtime function call. More...
 
class  chain
 Lightweight, templated, doubly-linked list (using XOR linking) More...
 
class  dictionary
 A named collection of words (for syntax highlighters) More...
 
class  exception
 This class is a throwable with a textual description of an error. More...
 
class  filebuf
 A buffered file output stream. More...
 
class  filter
 Instrumentation filter. More...
 
class  node
 A node in a templated chain (doubly-linked list) or stack (singly-linked LIFO queue) More...
 
class  object
 This abstract class serves as the root of the class hierarchy tree. More...
 
class  parser
 Stack trace parser and syntax highlighter for VT100 terminals. More...
 
class  plugin
 Function instrumentation plugin. More...
 
class  process
 This class represents a process, its entire namespace and thread group. More...
 
class  stack
 Lightweight, templated, singly-linked LIFO queue (stack) More...
 
class  streambuf
 This abstract class is the base for all buffered output stream types (for files, sockets, serial interfaces e.t.c) More...
 
class  string
 Lightweight string buffer class (for ISO-8859-1 text) More...
 
class  sttybuf
 A buffered output stream for serial interfaces. More...
 
class  style
 A set of formatting attributes for VT100 (and compatible) terminals. More...
 
class  symbol
 This class represents a program/library function symbol. More...
 
class  symtab
 This class represents a program/library symbol table (symtab section) More...
 
class  tcpsockbuf
 A buffered TCP/IP socket output stream. More...
 
class  thread
 This class represents a thread of execution in the instrumented process. More...
 
class  tracer
 A tracer object is the default interface to libcsdbg for the instrumentation functions and for the library user. More...
 
class  util
 This class provides various low level utility and portability methods. More...
 

Typedefs

typedef char i8
 8-bit signed integer More...
 
typedef short i16
 16-bit signed integer More...
 
typedef int i32
 32-bit signed integer More...
 
typedef long long i64
 64-bit signed integer More...
 
typedef unsigned char u8
 8-bit unsigned integer More...
 
typedef unsigned short u16
 16-bit unsigned integer More...
 
typedef unsigned int u32
 32-bit unsigned integer More...
 
typedef unsigned long long u64
 64-bit unsigned integer More...
 
typedef struct stat fileinfo_t
 File metadata. More...
 
typedef unsigned long long mem_addr_t
 64-bit memory address More...
 
typedef struct sockaddr_in tcp_addr_t
 TCP IPv4 address. More...
 
typedef struct sockaddr ip_addr_t
 IP address. More...
 
typedef void(* modsym_t )(void *, void *)
 Plugin callback. More...
 
typedef u8 color_t
 VT100 terminal color. More...
 
typedef u16 attrset_t
 VT100 attribute bitmask. More...
 

Functions

std::ostream & operator<< (std::ostream &lval, const std::exception &rval)
 Stream insertion operator for std::exception objects. More...
 
std::ostream & operator<< (std::ostream &lval, const exception &rval)
 Stream insertion operator for csdbg::exception objects. More...
 
std::ostream & operator<< (std::ostream &lval, const parser &rval)
 Stream insertion operator for csdbg::parser objects. More...
 
std::ostream & operator<< (std::ostream &lval, const string &rval)
 Stream insertion operator for csdbg::string objects. More...
 
void __cyg_profile_func_enter (void *this_fn, void *call_site)
 In code compiled with -finstrument-functions, g++ injects code to call this function at the beginning of instrumented functions. By implementing this function (and __cyg_profile_func_exit), libcsdbg simulates the call stack of each thread. More...
 
void __cyg_profile_func_exit (void *this_fn, void *call_site)
 In code compiled with -finstrument-functions, g++ injects code to call this function at the end of instrumented functions. By implementing this function (and __cyg_profile_func_enter), libcsdbg simulates the call stack of each thread. More...
 
std::ostream & operator<< (std::ostream &lval, tracer &rval)
 Stream insertion operator for csdbg::tracer objects. More...
 

Variables

static const i8 g_prefix [] = "/usr/local"
 Library installation prefix. More...
 
static const i8 g_libs_env [] = "CSDBG_LIBS"
 DSO filtering shell variable. More...
 
static const u16 g_major = 1
 Library version major. More...
 
static const u16 g_minor = 28
 Library version minor. More...
 
static const u16 g_memblock_sz = 64
 Block size (allocation alignment) More...
 
static const i32 g_ldp_port = 4242
 LDP service port. More...
 
static const i8 g_trace_syntax [] = "[ \t\n\r\\{\\}\\(\\)\\*&,:<>]+"
 C++ stack trace syntax. More...
 

Detailed Description

Complete library namespace.

This namespace consists of the libcsdbg classes/templates and global variables (csdbg::g_*) that provide the default library configuration

Todo:

Replace strerror with strerror_r

Check const variables