libcamera
v0.3.2+116-83c5ad0f
Supporting cameras in Linux since 2019
|
Representation of a call stack backtrace. More...
Public Member Functions | |
Backtrace () | |
Construct a backtrace. More... | |
std::string | toString (unsigned int skipLevels=0) const |
Convert a backtrace to a string representation. More... | |
Representation of a call stack backtrace.
The Backtrace class represents a function call stack. Constructing an instance captures the call stack at the point the instance is constructed. The instance can later be used to access the call stack and to generate a human-readable representation with the toString() function.
Depending on the platform, different backends can be used to generate the backtrace. The Backtrace class provides a best effort to capture accurate backtraces, but doesn't offer any guarantee of a particular backtrace format.
libcamera::Backtrace::Backtrace | ( | ) |
Construct a backtrace.
The backtrace captures the call stack at the point where it is constructed. It can later be converted to a string with toString().
std::string libcamera::Backtrace::toString | ( | unsigned int | skipLevels = 0 | ) | const |
Convert a backtrace to a string representation.
[in] | skipLevels | Number of initial levels to skip in the backtrace |
The string representation of the backtrace is a multi-line string, with one line per call stack entry. The format of the entries isn't specified and is platform-dependent.
The skipLevels parameter indicates how many initial entries to skip from the backtrace. This can be used to hide functions that wrap the construction of the Backtrace instance from the call stack. The Backtrace constructor itself is automatically skipped and never shown in the backtrace.
If backtrace generation fails for any reason (usually because the platform doesn't support this feature), an empty string is returned.