Rizin
unix-like reverse engineering framework and cli tools
rz_debug.h File Reference
#include <rz_types.h>
#include <rz_analysis.h>
#include <rz_cons.h>
#include <rz_util.h>
#include <rz_reg.h>
#include <rz_egg.h>
#include <rz_bp.h>
#include <rz_io.h>
#include <rz_hash.h>
#include <rz_syscall.h>
#include <rz_cmd.h>
#include <rz_config.h>
#include "rz_bind.h"

Go to the source code of this file.

Classes

struct  rz_debug_frame_t
 
struct  rz_debug_reason_t
 
struct  rz_debug_map_t
 
struct  rz_debug_signal_t
 
struct  rz_debug_desc_t
 
struct  rz_debug_snap_t
 
struct  RzDebugChangeReg
 
struct  RzDebugChangeMem
 
struct  rz_debug_checkpoint_t
 
struct  rz_debug_session_t
 
struct  rz_session_header
 
struct  rz_diff_entry
 
struct  rz_snap_entry
 
struct  rz_debug_trace_t
 
struct  rz_debug_tracepoint_t
 
struct  rz_debug_t
 
struct  rz_debug_desc_plugin_t
 
struct  rz_debug_info_t
 
struct  rz_debug_plugin_t
 
struct  rz_debug_pid_t
 
struct  rz_backtrace_t
 

Macros

#define SNAP_PAGE_SIZE   4096
 
#define CHECK_POINT_LIMIT   0x100000
 

Typedefs

typedef struct rz_debug_frame_t RzDebugFrame
 
typedef struct rz_debug_reason_t RzDebugReason
 
typedef struct rz_debug_map_t RzDebugMap
 
typedef struct rz_debug_signal_t RzDebugSignal
 
typedef struct rz_debug_desc_t RzDebugDesc
 
typedef struct rz_debug_snap_t RzDebugSnap
 
typedef struct rz_debug_checkpoint_t RzDebugCheckpoint
 
typedef struct rz_debug_session_t RzDebugSession
 
typedef struct rz_session_header RSessionHeader
 
typedef struct rz_diff_entry RzDiffEntry
 
typedef struct rz_snap_entry RSnapEntry
 
typedef struct rz_debug_trace_t RzDebugTrace
 
typedef struct rz_debug_tracepoint_t RzDebugTracepoint
 
typedef struct rz_debug_t RzDebug
 
typedef struct rz_debug_desc_plugin_t RzDebugDescPlugin
 
typedef struct rz_debug_info_t RzDebugInfo
 
typedef struct rz_debug_plugin_t RzDebugPlugin
 
typedef struct rz_debug_pid_t RzDebugPid
 
typedef struct rz_backtrace_t RzBacktrace
 

Enumerations

enum  RzDebugPidState {
  RZ_DBG_PROC_STOP = 's' , RZ_DBG_PROC_RUN = 'r' , RZ_DBG_PROC_SLEEP = 'S' , RZ_DBG_PROC_ZOMBIE = 'z' ,
  RZ_DBG_PROC_DEAD = 'd' , RZ_DBG_PROC_RAISED = 'R'
}
 
enum  RzDebugSignalMode { RZ_DBG_SIGNAL_IGNORE = 0 , RZ_DBG_SIGNAL_CONT = 1 , RZ_DBG_SIGNAL_SKIP = 2 }
 
enum  RzDebugRecoilMode { RZ_DBG_RECOIL_NONE = 0 , RZ_DBG_RECOIL_STEP , RZ_DBG_RECOIL_CONTINUE }
 
enum  RzDebugReasonType {
  RZ_DEBUG_REASON_DEAD = -1 , RZ_DEBUG_REASON_NONE = 0 , RZ_DEBUG_REASON_SIGNAL , RZ_DEBUG_REASON_SEGFAULT ,
  RZ_DEBUG_REASON_BREAKPOINT , RZ_DEBUG_REASON_TRACEPOINT , RZ_DEBUG_REASON_COND , RZ_DEBUG_REASON_READERR ,
  RZ_DEBUG_REASON_STEP , RZ_DEBUG_REASON_ABORT , RZ_DEBUG_REASON_WRITERR , RZ_DEBUG_REASON_DIVBYZERO ,
  RZ_DEBUG_REASON_ILLEGAL , RZ_DEBUG_REASON_UNKNOWN , RZ_DEBUG_REASON_ERROR , RZ_DEBUG_REASON_NEW_PID ,
  RZ_DEBUG_REASON_NEW_TID , RZ_DEBUG_REASON_NEW_LIB , RZ_DEBUG_REASON_EXIT_PID , RZ_DEBUG_REASON_EXIT_TID ,
  RZ_DEBUG_REASON_EXIT_LIB , RZ_DEBUG_REASON_TRAP , RZ_DEBUG_REASON_SWI , RZ_DEBUG_REASON_INT ,
  RZ_DEBUG_REASON_FPU , RZ_DEBUG_REASON_USERSUSP
}
 

Functions

 RZ_LIB_VERSION_HEADER (rz_debug)
 

Macro Definition Documentation

◆ CHECK_POINT_LIMIT

#define CHECK_POINT_LIMIT   0x100000

Definition at line 55 of file rz_debug.h.

◆ SNAP_PAGE_SIZE

#define SNAP_PAGE_SIZE   4096

Definition at line 54 of file rz_debug.h.

Typedef Documentation

◆ RSessionHeader

◆ RSnapEntry

typedef struct rz_snap_entry RSnapEntry

◆ RzBacktrace

typedef struct rz_backtrace_t RzBacktrace

◆ RzDebug

typedef struct rz_debug_t RzDebug

◆ RzDebugCheckpoint

◆ RzDebugDesc

typedef struct rz_debug_desc_t RzDebugDesc

◆ RzDebugDescPlugin

◆ RzDebugFrame

◆ RzDebugInfo

typedef struct rz_debug_info_t RzDebugInfo

◆ RzDebugMap

typedef struct rz_debug_map_t RzDebugMap

◆ RzDebugPid

typedef struct rz_debug_pid_t RzDebugPid

◆ RzDebugPlugin

◆ RzDebugReason

◆ RzDebugSession

◆ RzDebugSignal

◆ RzDebugSnap

typedef struct rz_debug_snap_t RzDebugSnap

◆ RzDebugTrace

◆ RzDebugTracepoint

◆ RzDiffEntry

typedef struct rz_diff_entry RzDiffEntry

Enumeration Type Documentation

◆ RzDebugPidState

Enumerator
RZ_DBG_PROC_STOP 
RZ_DBG_PROC_RUN 
RZ_DBG_PROC_SLEEP 
RZ_DBG_PROC_ZOMBIE 
RZ_DBG_PROC_DEAD 
RZ_DBG_PROC_RAISED 

Definition at line 59 of file rz_debug.h.

59  {
60  RZ_DBG_PROC_STOP = 's',
61  RZ_DBG_PROC_RUN = 'r',
62  RZ_DBG_PROC_SLEEP = 'S',
63  RZ_DBG_PROC_ZOMBIE = 'z',
64  RZ_DBG_PROC_DEAD = 'd',
65  RZ_DBG_PROC_RAISED = 'R' // has produced a signal, breakpoint, etc..
RzDebugPidState
Definition: rz_debug.h:59
@ RZ_DBG_PROC_RUN
Definition: rz_debug.h:61
@ RZ_DBG_PROC_STOP
Definition: rz_debug.h:60
@ RZ_DBG_PROC_ZOMBIE
Definition: rz_debug.h:63
@ RZ_DBG_PROC_RAISED
Definition: rz_debug.h:65
@ RZ_DBG_PROC_DEAD
Definition: rz_debug.h:64
@ RZ_DBG_PROC_SLEEP
Definition: rz_debug.h:62

◆ RzDebugReasonType

Enumerator
RZ_DEBUG_REASON_DEAD 
RZ_DEBUG_REASON_NONE 
RZ_DEBUG_REASON_SIGNAL 
RZ_DEBUG_REASON_SEGFAULT 
RZ_DEBUG_REASON_BREAKPOINT 
RZ_DEBUG_REASON_TRACEPOINT 
RZ_DEBUG_REASON_COND 
RZ_DEBUG_REASON_READERR 
RZ_DEBUG_REASON_STEP 
RZ_DEBUG_REASON_ABORT 
RZ_DEBUG_REASON_WRITERR 
RZ_DEBUG_REASON_DIVBYZERO 
RZ_DEBUG_REASON_ILLEGAL 
RZ_DEBUG_REASON_UNKNOWN 
RZ_DEBUG_REASON_ERROR 
RZ_DEBUG_REASON_NEW_PID 
RZ_DEBUG_REASON_NEW_TID 
RZ_DEBUG_REASON_NEW_LIB 
RZ_DEBUG_REASON_EXIT_PID 
RZ_DEBUG_REASON_EXIT_TID 
RZ_DEBUG_REASON_EXIT_LIB 
RZ_DEBUG_REASON_TRAP 
RZ_DEBUG_REASON_SWI 
RZ_DEBUG_REASON_INT 
RZ_DEBUG_REASON_FPU 
RZ_DEBUG_REASON_USERSUSP 

Definition at line 89 of file rz_debug.h.

89  {
RzDebugReasonType
Definition: rz_debug.h:89
@ RZ_DEBUG_REASON_NEW_TID
Definition: rz_debug.h:106
@ RZ_DEBUG_REASON_DEAD
Definition: rz_debug.h:90
@ RZ_DEBUG_REASON_STEP
Definition: rz_debug.h:98
@ RZ_DEBUG_REASON_WRITERR
Definition: rz_debug.h:100
@ RZ_DEBUG_REASON_READERR
Definition: rz_debug.h:97
@ RZ_DEBUG_REASON_ILLEGAL
Definition: rz_debug.h:102
@ RZ_DEBUG_REASON_TRACEPOINT
Definition: rz_debug.h:95
@ RZ_DEBUG_REASON_UNKNOWN
Definition: rz_debug.h:103
@ RZ_DEBUG_REASON_BREAKPOINT
Definition: rz_debug.h:94
@ RZ_DEBUG_REASON_USERSUSP
Definition: rz_debug.h:115
@ RZ_DEBUG_REASON_TRAP
Definition: rz_debug.h:111
@ RZ_DEBUG_REASON_ABORT
Definition: rz_debug.h:99
@ RZ_DEBUG_REASON_ERROR
Definition: rz_debug.h:104
@ RZ_DEBUG_REASON_NEW_LIB
Definition: rz_debug.h:107
@ RZ_DEBUG_REASON_EXIT_LIB
Definition: rz_debug.h:110
@ RZ_DEBUG_REASON_FPU
Definition: rz_debug.h:114
@ RZ_DEBUG_REASON_SEGFAULT
Definition: rz_debug.h:93
@ RZ_DEBUG_REASON_NONE
Definition: rz_debug.h:91
@ RZ_DEBUG_REASON_NEW_PID
Definition: rz_debug.h:105
@ RZ_DEBUG_REASON_EXIT_PID
Definition: rz_debug.h:108
@ RZ_DEBUG_REASON_EXIT_TID
Definition: rz_debug.h:109
@ RZ_DEBUG_REASON_SWI
Definition: rz_debug.h:112
@ RZ_DEBUG_REASON_DIVBYZERO
Definition: rz_debug.h:101
@ RZ_DEBUG_REASON_INT
Definition: rz_debug.h:113
@ RZ_DEBUG_REASON_SIGNAL
Definition: rz_debug.h:92
@ RZ_DEBUG_REASON_COND
Definition: rz_debug.h:96

◆ RzDebugRecoilMode

Enumerator
RZ_DBG_RECOIL_NONE 
RZ_DBG_RECOIL_STEP 
RZ_DBG_RECOIL_CONTINUE 

Definition at line 80 of file rz_debug.h.

80  {
RzDebugRecoilMode
Definition: rz_debug.h:80
@ RZ_DBG_RECOIL_STEP
Definition: rz_debug.h:82
@ RZ_DBG_RECOIL_CONTINUE
Definition: rz_debug.h:83
@ RZ_DBG_RECOIL_NONE
Definition: rz_debug.h:81

◆ RzDebugSignalMode

Enumerator
RZ_DBG_SIGNAL_IGNORE 
RZ_DBG_SIGNAL_CONT 
RZ_DBG_SIGNAL_SKIP 

Definition at line 69 of file rz_debug.h.

69  {
70  RZ_DBG_SIGNAL_IGNORE = 0, // ignore signal handler
71  RZ_DBG_SIGNAL_CONT = 1, // pass signal to chlidren and continue execution
72  RZ_DBG_SIGNAL_SKIP = 2, //
73  //..
RzDebugSignalMode
Definition: rz_debug.h:69
@ RZ_DBG_SIGNAL_IGNORE
Definition: rz_debug.h:70
@ RZ_DBG_SIGNAL_CONT
Definition: rz_debug.h:71
@ RZ_DBG_SIGNAL_SKIP
Definition: rz_debug.h:72

Function Documentation

◆ RZ_LIB_VERSION_HEADER()

RZ_LIB_VERSION_HEADER ( rz_debug  )