|
@@ -164,60 +164,6 @@ SSystemCVars g_cvars;
|
|
|
#include <AzCore/Component/ComponentApplication.h>
|
|
|
#include "AZCoreLogSink.h"
|
|
|
|
|
|
-#if defined(ANDROID)
|
|
|
-namespace
|
|
|
-{
|
|
|
- struct Callstack
|
|
|
- {
|
|
|
- Callstack()
|
|
|
- : addrs(NULL)
|
|
|
- , ignore(0)
|
|
|
- , count(0)
|
|
|
- {
|
|
|
- }
|
|
|
- Callstack(void** addrs, size_t ignore, size_t count)
|
|
|
- {
|
|
|
- this->addrs = addrs;
|
|
|
- this->ignore = ignore;
|
|
|
- this->count = count;
|
|
|
- }
|
|
|
- void** addrs;
|
|
|
- size_t ignore;
|
|
|
- size_t count;
|
|
|
- };
|
|
|
-
|
|
|
- static _Unwind_Reason_Code trace_func(struct _Unwind_Context* context, void* arg)
|
|
|
- {
|
|
|
- Callstack* cs = static_cast<Callstack*>(arg);
|
|
|
- if (cs->count)
|
|
|
- {
|
|
|
- void* ip = (void*) _Unwind_GetIP(context);
|
|
|
- if (ip)
|
|
|
- {
|
|
|
- if (cs->ignore)
|
|
|
- {
|
|
|
- cs->ignore--;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- cs->addrs[0] = ip;
|
|
|
- cs->addrs++;
|
|
|
- cs->count--;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return _URC_NO_REASON;
|
|
|
- }
|
|
|
-
|
|
|
- static int Backtrace(void** addrs, size_t ignore, size_t size)
|
|
|
- {
|
|
|
- Callstack cs(addrs, ignore, size);
|
|
|
- _Unwind_Backtrace(trace_func, (void*) &cs);
|
|
|
- return size - cs.count;
|
|
|
- }
|
|
|
-}
|
|
|
-#endif
|
|
|
-
|
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
// System Implementation.
|
|
|
//////////////////////////////////////////////////////////////////////////
|