IDA C++ SDK 9.2
Loading...
Searching...
No Matches
debug_event_t Struct Reference

This structure is used only when detailed information about a debug event is needed. More...

#include <idd.hpp>

Public Member Functions

 debug_event_t ()
 debug_event_t (const debug_event_t &r)
 ~debug_event_t ()
debug_event_toperator= (const debug_event_t &r)
debug_event_tcopy (const debug_event_t &r)
void clear ()
 clear the dependent information (see below), set event code to NO_EVENT
void clear_all ()
event_id_t eid () const
 Event code.
void set_eid (event_id_t id)
 Set event code.
bool is_bitness_changed () const
 process bitness
void set_bitness_changed (bool on=true)
modinfo_tmodinfo ()
 Information that depends on the event code:
int & exit_code ()
 THREAD_STARTED (thread name) LIB_UNLOADED (unloaded library name) INFORMATION (will be displayed in the output window if not empty)
qstringinfo ()
 BREAKPOINT
bptaddr_tbpt ()
 EXCEPTION
excinfo_texc ()
const modinfo_tmodinfo () const
const int & exit_code () const
const qstringinfo () const
const bptaddr_tbpt () const
const excinfo_texc () const
modinfo_tset_modinfo (event_id_t id)
void set_exit_code (event_id_t id, int code)
qstringset_info (event_id_t id)
bptaddr_tset_bpt ()
excinfo_tset_exception ()
ea_t bpt_ea () const
 On some systems with special memory mappings the triggered ea might be different from the actual ea.

Public Attributes

pid_t pid = NO_PROCESS
 Process where the event occurred.
thid_t tid = NO_THREAD
 Thread where the event occurred.
ea_t ea = BADADDR
 Address where the event occurred.
bool handled = false
 Is event handled by the debugger?

Friends

THREAD_SAFE void ida_export free_debug_event (debug_event_t *ev)
THREAD_SAFE void ida_export copy_debug_event (debug_event_t *ev, const debug_event_t &r)
THREAD_SAFE void ida_export set_debug_event_code (debug_event_t *ev, event_id_t id)

Detailed Description

This structure is used only when detailed information about a debug event is needed.

Constructor & Destructor Documentation

◆ debug_event_t() [1/2]

debug_event_t::debug_event_t ( )
inline

◆ debug_event_t() [2/2]

debug_event_t::debug_event_t ( const debug_event_t & r)
inline

◆ ~debug_event_t()

debug_event_t::~debug_event_t ( )
inline

Member Function Documentation

◆ operator=()

debug_event_t & debug_event_t::operator= ( const debug_event_t & r)
inline

◆ copy()

debug_event_t & debug_event_t::copy ( const debug_event_t & r)
inline

◆ clear()

void debug_event_t::clear ( )
inline

clear the dependent information (see below), set event code to NO_EVENT

◆ clear_all()

void debug_event_t::clear_all ( )
inline

◆ eid()

event_id_t debug_event_t::eid ( ) const
inline

Event code.

◆ set_eid()

void debug_event_t::set_eid ( event_id_t id)
inline

Set event code.

If the new event code is compatible with the old one then the dependent information (see below) will be preserved. Otherwise the event will be cleared and the new event code will be set.

◆ is_bitness_changed()

bool debug_event_t::is_bitness_changed ( ) const
inline

process bitness

◆ set_bitness_changed()

void debug_event_t::set_bitness_changed ( bool on = true)
inline

◆ modinfo() [1/2]

modinfo_t & debug_event_t::modinfo ( )
inline

Information that depends on the event code:

< PROCESS_STARTED, PROCESS_ATTACHED, LIB_LOADED PROCESS_EXITED, THREAD_EXITED

◆ exit_code() [1/2]

int & debug_event_t::exit_code ( )
inline

THREAD_STARTED (thread name) LIB_UNLOADED (unloaded library name) INFORMATION (will be displayed in the output window if not empty)

◆ info() [1/2]

qstring & debug_event_t::info ( )
inline

◆ bpt() [1/2]

bptaddr_t & debug_event_t::bpt ( )
inline

◆ exc() [1/2]

excinfo_t & debug_event_t::exc ( )
inline

◆ modinfo() [2/2]

const modinfo_t & debug_event_t::modinfo ( ) const
inline

◆ exit_code() [2/2]

const int & debug_event_t::exit_code ( ) const
inline

◆ info() [2/2]

const qstring & debug_event_t::info ( ) const
inline

◆ bpt() [2/2]

const bptaddr_t & debug_event_t::bpt ( ) const
inline

◆ exc() [2/2]

const excinfo_t & debug_event_t::exc ( ) const
inline

◆ set_modinfo()

modinfo_t & debug_event_t::set_modinfo ( event_id_t id)
inline

◆ set_exit_code()

void debug_event_t::set_exit_code ( event_id_t id,
int code )
inline

◆ set_info()

qstring & debug_event_t::set_info ( event_id_t id)
inline

◆ set_bpt()

bptaddr_t & debug_event_t::set_bpt ( )
inline

◆ set_exception()

excinfo_t & debug_event_t::set_exception ( )
inline

◆ bpt_ea()

ea_t debug_event_t::bpt_ea ( ) const
inline

On some systems with special memory mappings the triggered ea might be different from the actual ea.

Calculate the address to use.

◆ free_debug_event

THREAD_SAFE void ida_export free_debug_event ( debug_event_t * ev)
friend

◆ copy_debug_event

THREAD_SAFE void ida_export copy_debug_event ( debug_event_t * ev,
const debug_event_t & r )
friend

◆ set_debug_event_code

THREAD_SAFE void ida_export set_debug_event_code ( debug_event_t * ev,
event_id_t id )
friend

Member Data Documentation

◆ pid

pid_t debug_event_t::pid = NO_PROCESS

Process where the event occurred.

◆ tid

thid_t debug_event_t::tid = NO_THREAD

Thread where the event occurred.

◆ ea

ea_t debug_event_t::ea = BADADDR

Address where the event occurred.

◆ handled

bool debug_event_t::handled = false

Is event handled by the debugger?

(from the system's point of view) Meaningful for EXCEPTION events


The documentation for this struct was generated from the following file: