Kyty/source/include/Kyty/Sys/Linux/SysLinuxDbg.h
2022-10-03 15:33:23 +10:00

36 lines
839 B
C++

#ifndef SYS_LINUX_INCLUDE_KYTY_SYSDBG_H_
#define SYS_LINUX_INCLUDE_KYTY_SYSDBG_H_
// IWYU pragma: private
#if KYTY_PLATFORM != KYTY_PLATFORM_LINUX
//#error "KYTY_PLATFORM != KYTY_PLATFORM_LINUX"
#else
namespace Kyty {
// NOLINTNEXTLINE(readability-identifier-naming)
struct sys_dbg_stack_info_t
{
uintptr_t code_addr;
uintptr_t addr;
uintptr_t commited_addr;
size_t commited_size;
size_t total_size;
size_t code_size;
};
using exception_filter_func_t = void (*)(void* addr);
void sys_stack_walk(void** stack, int* depth);
void sys_stack_usage(sys_dbg_stack_info_t& s);
void sys_stack_usage_print(sys_dbg_stack_info_t& stack);
void sys_get_code_info(uintptr_t* addr, size_t* size);
void sys_set_exception_filter(exception_filter_func_t func);
} // namespace Kyty
#endif
#endif /* SYS_LINUX_INCLUDE_KYTY_SYSDBG_H_ */