ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
ActsPlugins::FpeMonitor Class Reference

Monitor for floating-point exceptions with stack trace capture. More...

#include </home/runner/work/acts/acts/Plugins/FpeMonitoring/include/ActsPlugins/FpeMonitoring/FpeMonitor.hpp>

Classes

struct  Buffer
 Buffer for storing stack traces. More...
struct  Result
 Result of FPE monitoring containing counts and stack traces. More...

Public Member Functions

 FpeMonitor (FpeMonitor &&other)=default
 Move constructor.
 FpeMonitor (int excepts)
 Constructor with exception mask.
void consumeRecorded ()
 Process recorded exceptions.
void rearm ()
 Re-enable exception monitoring.
Resultresult ()
 Get monitoring result.

Static Public Member Functions

static bool canSymbolize ()
 Check if stack trace symbolization is available.
static std::string getSourceLocation (const boost::stacktrace::frame &frame)
 Get source location from stack frame.
static bool isSupported ()
 Check if trapping-based FPE monitoring is supported on this platform.
static std::string stackTraceToString (const boost::stacktrace::stacktrace &st, std::size_t depth)
 Convert stack trace to string.

Detailed Description

Monitor for floating-point exceptions with stack trace capture.

Constructor & Destructor Documentation

◆ FpeMonitor() [1/2]

ActsPlugins::FpeMonitor::FpeMonitor ( int excepts)
explicit

Constructor with exception mask.

Parameters
exceptsMask of exceptions to monitor

◆ FpeMonitor() [2/2]

ActsPlugins::FpeMonitor::FpeMonitor ( FpeMonitor && other)
default

Move constructor.

Parameters
otherMonitor to move from

Member Function Documentation

◆ canSymbolize()

bool ActsPlugins::FpeMonitor::canSymbolize ( )
static

Check if stack trace symbolization is available.

Returns
True if symbolization is available

◆ getSourceLocation()

std::string ActsPlugins::FpeMonitor::getSourceLocation ( const boost::stacktrace::frame & frame)
static

Get source location from stack frame.

Parameters
frameStack frame to extract location from
Returns
String representation of source location

◆ isSupported()

bool ActsPlugins::FpeMonitor::isSupported ( )
static

Check if trapping-based FPE monitoring is supported on this platform.

Returns
True if runtime support is available

◆ result()

Result & ActsPlugins::FpeMonitor::result ( )

Get monitoring result.

Returns
Reference to result object

◆ stackTraceToString()

std::string ActsPlugins::FpeMonitor::stackTraceToString ( const boost::stacktrace::stacktrace & st,
std::size_t depth )
static

Convert stack trace to string.

Parameters
stStack trace to convert
depthMaximum depth of stack trace to include
Returns
String representation of stack trace