#include <dr_events.h>
Data Fields | |
int | sig |
void * | drcontext |
dr_mcontext_t * | mcontext |
dr_mcontext_t * | raw_mcontext |
bool | raw_mcontext_valid |
byte * | access_address |
bool | blocked |
dr_fault_fragment_info_t | fault_fragment_info |
Data structure passed with a signal event. Contains the machine context at the signal interruption point and other signal information.
byte* _dr_siginfo_t::access_address |
For SIGBUS and SIGSEGV, the address whose access caused the signal to be raised (as calculated by DR).
bool _dr_siginfo_t::blocked |
Indicates this signal is blocked. DR_SIGNAL_BYPASS is not allowed, and a second event will be sent if the signal is later delivered to the application. Events are only sent for blocked non-delayable signals, not for delayable signals.
void* _dr_siginfo_t::drcontext |
The context of the thread receiving the signal.
dr_fault_fragment_info_t _dr_siginfo_t::fault_fragment_info |
Information about the code fragment inside the code cache at the signal interruption point.
dr_mcontext_t* _dr_siginfo_t::mcontext |
The application machine state at the signal interruption point. The client should not change mcontext.flags:
it should remain DR_MC_ALL.
dr_mcontext_t* _dr_siginfo_t::raw_mcontext |
The raw pre-translated machine state at the signal interruption point inside the code cache. NULL for delayable signals. Clients are cautioned when examining code cache instructions to not rely on any details of code inserted other than their own. The client should not change mcontext.flags:
it should remain DR_MC_ALL.
bool _dr_siginfo_t::raw_mcontext_valid |
Whether raw_mcontext is valid.
int _dr_siginfo_t::sig |
The signal number.