DynamoRIO
_dr_siginfo_t Struct Reference

#include <dr_events.h>

Data Fields

int sig
 
void * drcontext
 
dr_mcontext_tmcontext
 
dr_mcontext_traw_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