DynamoRIO
|
#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 |
Detailed Description
Data structure passed with a signal event. Contains the machine context at the signal interruption point and other signal information.
Field Documentation
◆ access_address
byte* _dr_siginfo_t::access_address |
For SIGBUS and SIGSEGV, the address whose access caused the signal to be raised (as calculated by DR).
◆ blocked
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.
◆ drcontext
void* _dr_siginfo_t::drcontext |
The context of the thread receiving the signal.
◆ fault_fragment_info
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.
◆ mcontext
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.
◆ raw_mcontext
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.
◆ raw_mcontext_valid
bool _dr_siginfo_t::raw_mcontext_valid |
Whether raw_mcontext is valid.
◆ sig
int _dr_siginfo_t::sig |
The signal number.
The documentation for this struct was generated from the following file:
- /home/runner/work/dynamorio/dynamorio/build_release-64/include/dr_events.h