mirror of
https://github.com/async-profiler/async-profiler.git
synced 2026-04-28 10:53:49 +00:00
28 lines
659 B
C++
28 lines
659 B
C++
/*
|
|
* Copyright The async-profiler authors
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#ifndef _STACKWALKER_H
|
|
#define _STACKWALKER_H
|
|
|
|
#include <stdint.h>
|
|
#include "arguments.h"
|
|
#include "event.h"
|
|
#include "vmEntry.h"
|
|
|
|
|
|
class JavaFrameAnchor;
|
|
|
|
class StackWalker {
|
|
public:
|
|
static int walkFP(void* ucontext, const void** callchain, int max_depth);
|
|
static int walkDwarf(void* ucontext, const void** callchain, int max_depth);
|
|
static int walkVM(void* ucontext, ASGCT_CallFrame* frames, int max_depth, int lock_index,
|
|
StackWalkFeatures features, EventType event_type);
|
|
|
|
static void checkFault();
|
|
};
|
|
|
|
#endif // _STACKWALKER_H
|