1 #ifndef _TRACE_BACKTRACE_HPP_
2 #define _TRACE_BACKTRACE_HPP_
6 #include "trace_model.hpp"
11 #if defined(ANDROID) or defined(__linux__)
13 std::vector<RawStackFrame> get_backtrace();
14 bool backtrace_is_needed(const char* fname);
18 #define MAX_BT_FUNC 20
19 #define PREFIX_MAX_FUNC_NAME 100
20 #define APITRACE_FNAMES_FILE "/data/apitrace.fnames"
21 #define APITRACE_FNAMES_SOURCE APITRACE_FNAMES_FILE
23 #elif defined(__linux__)
25 #define MAX_BT_FUNC 20
26 #define PREFIX_MAX_FUNC_NAME 100
27 #define APITRACE_FNAMES_ENV "APITRACE_BT_FUNCTIONS"
28 #define APITRACE_FNAMES_SOURCE APITRACE_FNAMES_ENV
32 #else /* !__linux__ && !ANDROID */
34 static inline std::vector<RawStackFrame> get_backtrace() {
35 return std::vector<RawStackFrame>();
38 static inline bool backtrace_is_needed(const char*) {
44 } /* namespace trace */