BloombergLP::balst

Namespace for stack-trace capture, printing, and configuration utilities.

Types

NameDescription
ObjectFileFormat This struct is named ObjectFileFormat for historical reasons, what it really determines is resolving strategy. Linux, for example, can be resolved using either the Elf or Dladdr policies. We choose Elf for linux because that mode of resolving yields more information.
ResolverImpl
Resolver_FileHelper This class provides a low-level file utility functions for Resolver<Elf>. This class contains the file descriptor of current object file. Note that the file is opened readonly, and all reads specify the offset, so the offset of the file descriptor is not considered part of the state of this object.
StackTrace This value-semantic class describes a function-call stack, represented as a sequence of randomly accessible StackTraceFrame objects, each of which represents one function call on the stack. Note that if no allocator is supplied at construction, an owned bdlma::HeapBypassAllocator object is used to supply memory.
StackTraceConfigurationUtil This struct provides a namespace for functions that configure the behavior of stack traces performed by balst.
StackTraceFrame This simply constrained (value-semantic) attribute class describes a call frame created on the execution stack when a parent function calls a child function. Supplementary predicate methods indicate whether a given attribute value is considered "unknown". See the section for infromation on the class attributes. Note that the class invariants are identically the constraints on the individual attributes.
StackTracePrintUtil This struct serves as a namespace for static methods that perform and print a description of a stack trace.
StackTracePrintUtil_Test This struct is not intended for use by clients of this component; it exists only for testing purposes.
StackTracePrinter This class defines an object that, if streamed to a bsl::ostream, will output a stack trace to that stream.
StackTraceTestAllocator This class defines a concrete "test" allocator mechanism that implements the bdlma::ManagedAllocator protocol, and provides instrumentation to track the set of all blocks allocated by this allocator that have yet to be freed. At any time it can produce a report about such blocks, listing for each place that any unfreed blocks were allocated * the number of unfreed blocks allocated at that place * the stack trace at that place The allocator will also detect redundant frees of the same block, and frees by the wrong allocator. The client can choose whether such violations are handled by a core dump, or merely a report being written.
StackTraceUtil This struct serves as a namespace for a collection of functions that are useful for initializing and printing a stack-trace object.

Functions

NameDescription
swap Exchange the values of the specified a and b objects. This function provides the no-throw exception-safety guarantee if the two objects were created with the same allocator and the basic guarantee otherwise.
operator<< Stream insertion operators
operator== Equality operators
operator!= Inequality operators