31 lines
797 B
C++
31 lines
797 B
C++
#ifndef C10_UTIL_BACKTRACE_H_
|
|
#define C10_UTIL_BACKTRACE_H_
|
|
|
|
#include <cstddef>
|
|
#include <memory>
|
|
#include <string>
|
|
#include <typeinfo>
|
|
|
|
#include <c10/macros/Macros.h>
|
|
#include <c10/util/Lazy.h>
|
|
|
|
namespace c10 {
|
|
|
|
// Symbolizing the backtrace can be expensive; pass it around as a lazy string
|
|
// so it is symbolized only if actually needed.
|
|
using Backtrace = std::shared_ptr<const LazyValue<std::string>>;
|
|
|
|
// DEPRECATED: Prefer get_lazy_backtrace().
|
|
C10_API std::string get_backtrace(
|
|
size_t frames_to_skip = 0,
|
|
size_t maximum_number_of_frames = 64,
|
|
bool skip_python_frames = true);
|
|
|
|
C10_API Backtrace get_lazy_backtrace(
|
|
size_t frames_to_skip = 0,
|
|
size_t maximum_number_of_frames = 64,
|
|
bool skip_python_frames = true);
|
|
|
|
} // namespace c10
|
|
|
|
#endif // C10_UTIL_BACKTRACE_H_
|