Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
backtrace.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2015 Roc Streaming authors
3 *
4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
7 */
8
9//! @file roc_core/backtrace.h
10//! @brief Backtrace printing.
11
12#ifndef ROC_CORE_BACKTRACE_H_
13#define ROC_CORE_BACKTRACE_H_
14
15#include "roc_core/stddefs.h"
16
17namespace roc {
18namespace core {
19
20//! Print backtrace to stderr.
21//! @note
22//! This function is NOT signal-safe
23//! It CAN use heap and stdio.
25
26//! Print backtrace to stderr (emergency mode).
27//! @note
28//! This function IS signal-safe.
29//! It can NOT use heap and stdio.
31
32//! Demangle symbol name.
33//! @note
34//! This function is NOT signal-safe.
35//! It CAN use heap and stdio.
36//! @remarks
37//! @p demangled_buf and @p demangled_size specify the buffer for demangled name.
38//! When necessary, this function malloc()s or realloc()s @p demangled_buf and
39//! updates @p demangled_size accordingly. The buffer may be NULL. The buffer may
40//! be resused across several calls. The user should manually free() the buffer
41//! when it's not needed anymore.
42//! @returns
43//! demangled symbol or NULL if the symbol can't be demangled.
44const char*
46
47} // namespace core
48} // namespace roc
49
50#endif // ROC_CORE_BACKTRACE_H_
Shared ownership intrusive pointer.
Definition shared_ptr.h:32
void print_backtrace_safe()
Print backtrace to stderr (emergency mode).
void print_backtrace_full()
Print backtrace to stderr.
const char * demangle_symbol(const char *mangled, char *&demangled_buf, size_t &demangled_size)
Demangle symbol name.
Root namespace.
Commonly used types and functions.