Stackdb
Stackdb is a stackable, multi-target and -level source debugger and memory forensics library.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
probe_api.h File Reference
#include "common.h"
#include <glib.h>
Include dependency graph for probe_api.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  probe_ops
 

Macros

#define PROBE_VALUE_NAME_RETURN   "__RETURN__"
 
#define SINGLESTEP_INFINITE   -1
 
#define SINGLESTEP_NEXTBP   -2
 

Typedefs

typedef result_t(* probe_handler_t )(struct probe *probe, tid_t tid, void *handler_data, struct probe *trigger, struct probe *base)
 
typedef result_t(* action_handler_t )(struct action *action, struct target_thread *thread, struct probe *probe, struct probepoint *probepoint, handler_msg_t msg, int msg_detail, void *handler_data)
 

Enumerations

enum  handler_msg_t {
  MSG_NONE = 0, MSG_SUCCESS = 1, MSG_FAILURE = 2, MSG_STEPPING = 3,
  MSG_STEPPING_AT_BP = 4, MSG_INTERRUPTED = 5
}
 
enum  probe_handler_phase_t { PHASE_PRE_START = 0, PHASE_PRE_END = 1, PHASE_POST_START = 2, PHASE_POST_END = 3 }
 
enum  probepoint_type_t { PROBEPOINT_BREAK = 1, PROBEPOINT_WATCH }
 
enum  probepoint_style_t { PROBEPOINT_HW = 1, PROBEPOINT_SW, PROBEPOINT_FASTEST }
 
enum  probepoint_whence_t { PROBEPOINT_WAUTO = -1, PROBEPOINT_EXEC = 0, PROBEPOINT_WRITE = 1, PROBEPOINT_READWRITE = 3 }
 
enum  probepoint_watchsize_t {
  PROBEPOINT_LAUTO = -1, PROBEPOINT_L0 = 0, PROBEPOINT_L2 = 1, PROBEPOINT_L4 = 3,
  PROBEPOINT_L8 = 2
}
 
enum  action_type_t {
  ACTION_RETURN = 0, ACTION_REGMOD = 1, ACTION_MEMMOD = 2, ACTION_CUSTOMCODE = 3,
  ACTION_SINGLESTEP = 4
}
 
enum  action_whence_t { ACTION_UNSCHED = 0, ACTION_ONESHOT = 1, ACTION_REPEATPRE = 2, ACTION_REPEATPOST = 3 }
 
enum  action_flag_t {
  ACTION_FLAG_NONE = 0, ACTION_FLAG_NOINT = 1, ACTION_FLAG_SAVECTX = 2, ACTION_FLAG_CALL = 4,
  ACTION_FLAG_NORET = 8
}
 

Functions

result_t probe_do_sink_pre_handlers (struct probe *probe, tid_t tid, void *handler_data, struct probe *trigger, struct probe *base)
 
result_t probe_do_sink_post_handlers (struct probe *probe, tid_t tid, void *handler_data, struct probe *trigger, struct probe *base)
 
int probe_filter_check (struct probe *probe, tid_t tid, struct probe *trigger, int whence)
 
struct probeprobe_simple (struct target *target, tid_t tid, char *name, probe_handler_t pre_handler, probe_handler_t post_handler, void *handler_data)
 
struct probeprobe_register_symbol_name (struct probe *probe, char *name, const char *delim, probepoint_style_t style, probepoint_whence_t whence, probepoint_watchsize_t watchsize)
 
struct probeprobe_register_symbol (struct probe *probe, struct bsymbol *bsymbol, probepoint_style_t style, probepoint_whence_t whence, probepoint_watchsize_t watchsize)
 
struct probeprobe_register_line (struct probe *probe, char *filename, int line, probepoint_style_t style, probepoint_whence_t whence, probepoint_watchsize_t watchsize)
 
struct probeprobe_register_inlined_symbol (struct probe *probe, struct bsymbol *bsymbol, int do_primary, probepoint_style_t style, probepoint_whence_t whence, probepoint_watchsize_t watchsize)
 
struct probeprobe_value_var (struct target *target, tid_t tid, struct bsymbol *bsymbol, probe_handler_t pre_handler, probe_handler_t post_handler, void *handler_data)
 
struct probeprobe_value_symbol (struct target *target, tid_t tid, struct bsymbol *bsymbol, probe_handler_t pre_handler, probe_handler_t post_handler, void *handler_data)
 
GHashTable * probe_value_get_table (struct probe *probe, tid_t tid)
 
GHashTable * probe_value_get_raw_table (struct probe *probe, tid_t tid)
 
GHashTable * probe_value_get_last_table (struct probe *probe, tid_t tid)
 
GHashTable * probe_value_get_last_raw_table (struct probe *probe, tid_t tid)
 
struct valueprobe_value_get (struct probe *probe, tid_t tid, char *name)
 
struct valueprobe_value_get_raw (struct probe *probe, tid_t tid, char *name)
 
struct valueprobe_value_get_last (struct probe *probe, tid_t tid, char *name)
 
struct valueprobe_value_get_last_raw (struct probe *probe, tid_t tid, char *name)
 
struct probeprobe_create_filtered (struct target *target, tid_t tid, struct probe_ops *pops, const char *name, probe_handler_t pre_handler, struct target_nv_filter *pre_filter, probe_handler_t post_handler, struct target_nv_filter *post_filter, struct target_nv_filter *thread_filter, void *handler_data, int autofree, int tracked)
 
void probe_value_clear (struct probe_value *pv)
 
void probe_value_free (struct probe_value *pv)
 
struct probe_valueprobe_value_create (probe_handler_phase_t phase)
 
void probe_values_free_stacked (struct probe *probe)
 
int probe_value_record_stacked (struct probe *probe, tid_t tid, char *name, struct value *value, int israw)
 
void probe_values_free_basic (struct probe *probe)
 
int probe_value_record_basic (struct probe *probe, tid_t tid, char *name, struct value *value, int israw)
 
GHashTable * probe_value_get_table_basic (struct probe *probe, tid_t tid)
 
GHashTable * probe_value_get_raw_table_basic (struct probe *probe, tid_t tid)
 
GHashTable * probe_value_get_last_table_basic (struct probe *probe, tid_t tid)
 
GHashTable * probe_value_get_last_raw_table_basic (struct probe *probe, tid_t tid)
 
struct valueprobe_value_get_basic (struct probe *probe, tid_t tid, char *name)
 
struct valueprobe_value_get_raw_basic (struct probe *probe, tid_t tid, char *name)
 
struct valueprobe_value_get_last_basic (struct probe *probe, tid_t tid, char *name)
 
struct valueprobe_value_get_last_raw_basic (struct probe *probe, tid_t tid, char *name)
 
GHashTable * probe_value_get_table_function_ee (struct probe *probe, tid_t tid)
 
GHashTable * probe_value_get_raw_table_function_ee (struct probe *probe, tid_t tid)
 
GHashTable * probe_value_get_last_table_function_ee (struct probe *probe, tid_t tid)
 
GHashTable * probe_value_get_last_raw_table_function_ee (struct probe *probe, tid_t tid)
 
struct valueprobe_value_get_function_ee (struct probe *probe, tid_t tid, char *name)
 
struct valueprobe_value_get_raw_function_ee (struct probe *probe, tid_t tid, char *name)
 
struct valueprobe_value_get_last_function_ee (struct probe *probe, tid_t tid, char *name)
 
struct valueprobe_value_get_last_raw_function_ee (struct probe *probe, tid_t tid, char *name)
 
void probe_value_notify_phase_function_ee (struct probe *probe, tid_t tid, probe_handler_phase_t phase)
 
void probe_value_notify_phase_watchedvar (struct probe *probe, tid_t tid, probe_handler_phase_t phase)
 
struct probeprobe_create (struct target *target, tid_t tid, struct probe_ops *pops, const char *name, probe_handler_t pre_handler, probe_handler_t post_handler, void *handler_data, int autofree, int tracked)
 
void probe_rename (struct probe *probe, const char *name)
 
int probe_free (struct probe *probe, int force)
 
struct probeprobe_register_addr (struct probe *probe, ADDR addr, probepoint_type_t type, probepoint_style_t style, probepoint_whence_t whence, probepoint_watchsize_t watchsize, struct bsymbol *bsymbol)
 
int probe_unregister (struct probe *probe, int force)
 
int probe_unregister_one (struct probe *probe, int force)
 
struct probeprobe_register_source (struct probe *sink, struct probe *src)
 
struct probeprobe_register_sources (struct probe *sink, struct probe *src,...)
 
int probe_unregister_source (struct probe *sink, struct probe *src, int force)
 
int probe_unregister_source_one (struct probe *sink, struct probe *src, int force)
 
int probe_hard_disable (struct probe *probe, int force)
 
int probe_hard_enable (struct probe *probe)
 
int probe_enable_all (struct probe *probe)
 
int probe_disable (struct probe *probe)
 
int probe_register_batch (struct target *target, tid_t tid, ADDR *addrlist, int count, probepoint_type_t type, probepoint_style_t style, probepoint_whence_t whence, probepoint_watchsize_t watchsize, probe_handler_t pre_handler, probe_handler_t post_handler, void *handler_data, struct probe **probelist, int failureaction)
 
int probe_unregister_batch (struct target *target, struct probe **probelist, int listlen, int force)
 
probepoint_watchsize_t probepoint_closest_watchsize (int size)
 
void * probe_summarize (struct probe *probe)
 
void * probe_summarize_tid (struct probe *probe, tid_t tid)
 
int probe_disable_one (struct probe *probe)
 
int probe_enable (struct probe *probe)
 
int probe_enabled (struct probe *probe)
 
int probe_is_base (struct probe *probe)
 
int probe_num_sources (struct probe *probe)
 
int probe_num_sinks (struct probe *probe)
 
char * probe_name (struct probe *probe)
 
struct bsymbolprobe_symbol (struct probe *probe)
 
struct targetprobe_target (struct probe *probe)
 
tid_t probe_tid (struct probe *probe)
 
void * probe_priv (struct probe *probe)
 
ADDR probe_addr (struct probe *probe)
 
probepoint_type_t probe_type (struct probe *probe)
 
probepoint_style_t probe_style (struct probe *probe)
 
probepoint_whence_t probe_whence (struct probe *probe)
 
int action_sched (struct probe *probe, struct action *action, action_whence_t whence, action_handler_t handler, void *handler_data)
 
int action_cancel (struct action *action)
 
struct actionaction_return (REGVAL retval)
 
struct actionaction_regmod (REG regnum, REGVAL regval)
 
struct actionaction_memmod (ADDR destaddr, char *data, uint32_t len)
 
struct actionaction_singlestep (int nsteps)
 
struct actionaction_code (char *buf, uint32_t len, uint32_t flags)
 
REFCNT action_free (struct action *action, int force)
 
void action_hold (struct action *action)
 
REFCNT action_release (struct action *action)
 

Macro Definition Documentation

#define PROBE_VALUE_NAME_RETURN   "__RETURN__"

Definition at line 159 of file probe_api.h.

#define SINGLESTEP_INFINITE   -1

Definition at line 871 of file probe_api.h.

#define SINGLESTEP_NEXTBP   -2

Definition at line 872 of file probe_api.h.

Typedef Documentation

typedef result_t(* action_handler_t)(struct action *action, struct target_thread *thread, struct probe *probe, struct probepoint *probepoint, handler_msg_t msg, int msg_detail, void *handler_data)

Definition at line 76 of file probe_api.h.

typedef result_t(* probe_handler_t)(struct probe *probe, tid_t tid, void *handler_data, struct probe *trigger, struct probe *base)

Definition at line 70 of file probe_api.h.

Enumeration Type Documentation

Enumerator
ACTION_FLAG_NONE 
ACTION_FLAG_NOINT 
ACTION_FLAG_SAVECTX 
ACTION_FLAG_CALL 
ACTION_FLAG_NORET 

Definition at line 267 of file probe_api.h.

Enumerator
ACTION_RETURN 
ACTION_REGMOD 
ACTION_MEMMOD 
ACTION_CUSTOMCODE 
ACTION_SINGLESTEP 

Definition at line 249 of file probe_api.h.

Enumerator
ACTION_UNSCHED 
ACTION_ONESHOT 
ACTION_REPEATPRE 
ACTION_REPEATPOST 

Definition at line 257 of file probe_api.h.

Enumerator
MSG_NONE 
MSG_SUCCESS 
MSG_FAILURE 
MSG_STEPPING 
MSG_STEPPING_AT_BP 
MSG_INTERRUPTED 

Definition at line 52 of file probe_api.h.

Enumerator
PHASE_PRE_START 
PHASE_PRE_END 
PHASE_POST_START 
PHASE_POST_END 

Definition at line 83 of file probe_api.h.

Enumerator
PROBEPOINT_HW 
PROBEPOINT_SW 
PROBEPOINT_FASTEST 

Definition at line 228 of file probe_api.h.

Enumerator
PROBEPOINT_BREAK 
PROBEPOINT_WATCH 

Definition at line 213 of file probe_api.h.

Enumerator
PROBEPOINT_LAUTO 
PROBEPOINT_L0 
PROBEPOINT_L2 
PROBEPOINT_L4 
PROBEPOINT_L8 

Definition at line 241 of file probe_api.h.

Enumerator
PROBEPOINT_WAUTO 
PROBEPOINT_EXEC 
PROBEPOINT_WRITE 
PROBEPOINT_READWRITE 

Definition at line 234 of file probe_api.h.

Function Documentation

int action_cancel ( struct action action)

Definition at line 4413 of file probe.c.

struct action* action_code ( char *  buf,
uint32_t  len,
uint32_t  flags 
)
REFCNT action_free ( struct action action,
int  force 
)

Definition at line 4600 of file probe.c.

void action_hold ( struct action action)
struct action* action_memmod ( ADDR  destaddr,
char *  data,
uint32_t  len 
)

Definition at line 4553 of file probe.c.

struct action* action_regmod ( REG  regnum,
REGVAL  regval 
)

Definition at line 4532 of file probe.c.

REFCNT action_release ( struct action action)

Definition at line 4576 of file probe.c.

struct action* action_return ( REGVAL  retval)

Definition at line 4457 of file probe.c.

int action_sched ( struct probe probe,
struct action action,
action_whence_t  whence,
action_handler_t  handler,
void *  handler_data 
)

Definition at line 4119 of file probe.c.

struct action* action_singlestep ( int  nsteps)

Definition at line 4483 of file probe.c.

ADDR probe_addr ( struct probe probe)

Definition at line 1959 of file probe.c.

struct probe* probe_create ( struct target target,
tid_t  tid,
struct probe_ops pops,
const char *  name,
probe_handler_t  pre_handler,
probe_handler_t  post_handler,
void *  handler_data,
int  autofree,
int  tracked 
)

Core probe library functions.

Definition at line 729 of file probe.c.

struct probe* probe_create_filtered ( struct target target,
tid_t  tid,
struct probe_ops pops,
const char *  name,
probe_handler_t  pre_handler,
struct target_nv_filter pre_filter,
probe_handler_t  post_handler,
struct target_nv_filter post_filter,
struct target_nv_filter thread_filter,
void *  handler_data,
int  autofree,
int  tracked 
)

Probe Filter functions. If you attach a filter probe to a value probe, it uses the value probe as a source, and each time its pre/posthandlers are called, compares the named values to the filter value expressions, and fires the pre/post handlers if there is a match.

Filter probes should also have a notion of context, but they don't really have that yet. The only context initially is – if you set it to TID_GLOBAL, you'll get everything; otherwise, your filter won't be checked unless the probe event happened in .

Definition at line 95 of file probe_filter.c.

int probe_disable ( struct probe probe)

Definition at line 1811 of file probe.c.

int probe_disable_one ( struct probe probe)

Definition at line 1800 of file probe.c.

result_t probe_do_sink_post_handlers ( struct probe probe,
tid_t  tid,
void *  handler_data,
struct probe trigger,
struct probe base 
)

Definition at line 109 of file probe.c.

result_t probe_do_sink_pre_handlers ( struct probe probe,
tid_t  tid,
void *  handler_data,
struct probe trigger,
struct probe base 
)

Definition at line 48 of file probe.c.

int probe_enable ( struct probe probe)

Definition at line 1861 of file probe.c.

int probe_enable_all ( struct probe probe)
int probe_enabled ( struct probe probe)

Definition at line 1915 of file probe.c.

int probe_filter_check ( struct probe probe,
tid_t  tid,
struct probe trigger,
int  whence 
)

Definition at line 35 of file probe_filter.c.

int probe_free ( struct probe probe,
int  force 
)

Definition at line 777 of file probe.c.

int probe_hard_disable ( struct probe probe,
int  force 
)

Definition at line 912 of file probe.c.

int probe_hard_enable ( struct probe probe)

Definition at line 961 of file probe.c.

int probe_is_base ( struct probe probe)

Definition at line 1919 of file probe.c.

char* probe_name ( struct probe probe)

Definition at line 1935 of file probe.c.

int probe_num_sinks ( struct probe probe)

Definition at line 1929 of file probe.c.

int probe_num_sources ( struct probe probe)

Definition at line 1923 of file probe.c.

void* probe_priv ( struct probe probe)

Definition at line 1951 of file probe.c.

struct probe* probe_register_addr ( struct probe probe,
ADDR  addr,
probepoint_type_t  type,
probepoint_style_t  style,
probepoint_whence_t  whence,
probepoint_watchsize_t  watchsize,
struct bsymbol bsymbol 
)

Definition at line 1393 of file probe.c.

int probe_register_batch ( struct target target,
tid_t  tid,
ADDR addrlist,
int  count,
probepoint_type_t  type,
probepoint_style_t  style,
probepoint_whence_t  whence,
probepoint_watchsize_t  watchsize,
probe_handler_t  pre_handler,
probe_handler_t  post_handler,
void *  handler_data,
struct probe **  probelist,
int  failureaction 
)

Definition at line 1685 of file probe.c.

struct probe* probe_register_inlined_symbol ( struct probe probe,
struct bsymbol bsymbol,
int  do_primary,
probepoint_style_t  style,
probepoint_whence_t  whence,
probepoint_watchsize_t  watchsize 
)

Definition at line 1089 of file probe_lib.c.

struct probe* probe_register_line ( struct probe probe,
char *  filename,
int  line,
probepoint_style_t  style,
probepoint_whence_t  whence,
probepoint_watchsize_t  watchsize 
)

Definition at line 1403 of file probe.c.

struct probe* probe_register_source ( struct probe sink,
struct probe src 
)

Definition at line 1593 of file probe.c.

struct probe* probe_register_sources ( struct probe sink,
struct probe src,
  ... 
)

Definition at line 1654 of file probe.c.

struct probe* probe_register_symbol ( struct probe probe,
struct bsymbol bsymbol,
probepoint_style_t  style,
probepoint_whence_t  whence,
probepoint_watchsize_t  watchsize 
)

Definition at line 1470 of file probe.c.

struct probe* probe_register_symbol_name ( struct probe probe,
char *  name,
const char *  delim,
probepoint_style_t  style,
probepoint_whence_t  whence,
probepoint_watchsize_t  watchsize 
)

Definition at line 51 of file probe_lib.c.

void probe_rename ( struct probe probe,
const char *  name 
)

Definition at line 898 of file probe.c.

struct probe* probe_simple ( struct target target,
tid_t  tid,
char *  name,
probe_handler_t  pre_handler,
probe_handler_t  post_handler,
void *  handler_data 
)

Useful higher-level library functions.

Definition at line 37 of file probe_lib.c.

probepoint_style_t probe_style ( struct probe probe)

Definition at line 1975 of file probe.c.

void* probe_summarize ( struct probe probe)

Definition at line 1786 of file probe.c.

void* probe_summarize_tid ( struct probe probe,
tid_t  tid 
)

Definition at line 1793 of file probe.c.

struct bsymbol* probe_symbol ( struct probe probe)

Definition at line 1939 of file probe.c.

struct target* probe_target ( struct probe probe)

Definition at line 1943 of file probe.c.

tid_t probe_tid ( struct probe probe)

Definition at line 1947 of file probe.c.

probepoint_type_t probe_type ( struct probe probe)

Definition at line 1968 of file probe.c.

int probe_unregister ( struct probe probe,
int  force 
)

Definition at line 1137 of file probe.c.

int probe_unregister_batch ( struct target target,
struct probe **  probelist,
int  listlen,
int  force 
)

Definition at line 1217 of file probe.c.

int probe_unregister_one ( struct probe probe,
int  force 
)

Definition at line 1141 of file probe.c.

int probe_unregister_source ( struct probe sink,
struct probe src,
int  force 
)

Definition at line 1145 of file probe.c.

int probe_unregister_source_one ( struct probe sink,
struct probe src,
int  force 
)

Definition at line 1186 of file probe.c.

void probe_value_clear ( struct probe_value pv)

Probe Value core functions that might be useful to others in constructing per-probe type probe_ops.

Definition at line 41 of file probe_value.c.

struct probe_value* probe_value_create ( probe_handler_phase_t  phase)

Definition at line 79 of file probe_value.c.

void probe_value_free ( struct probe_value pv)

Definition at line 66 of file probe_value.c.

struct value* probe_value_get ( struct probe probe,
tid_t  tid,
char *  name 
)

Definition at line 633 of file probe_value.c.

struct value* probe_value_get_basic ( struct probe probe,
tid_t  tid,
char *  name 
)

Definition at line 551 of file probe_value.c.

struct value* probe_value_get_function_ee ( struct probe probe,
tid_t  tid,
char *  name 
)

Definition at line 467 of file probe_value.c.

struct value* probe_value_get_last ( struct probe probe,
tid_t  tid,
char *  name 
)

Definition at line 639 of file probe_value.c.

struct value* probe_value_get_last_basic ( struct probe probe,
tid_t  tid,
char *  name 
)

Definition at line 561 of file probe_value.c.

struct value* probe_value_get_last_function_ee ( struct probe probe,
tid_t  tid,
char *  name 
)

Definition at line 477 of file probe_value.c.

struct value* probe_value_get_last_raw ( struct probe probe,
tid_t  tid,
char *  name 
)

Definition at line 636 of file probe_value.c.

struct value* probe_value_get_last_raw_basic ( struct probe probe,
tid_t  tid,
char *  name 
)

Definition at line 566 of file probe_value.c.

struct value* probe_value_get_last_raw_function_ee ( struct probe probe,
tid_t  tid,
char *  name 
)

Definition at line 482 of file probe_value.c.

GHashTable* probe_value_get_last_raw_table ( struct probe probe,
tid_t  tid 
)

Definition at line 627 of file probe_value.c.

GHashTable* probe_value_get_last_raw_table_basic ( struct probe probe,
tid_t  tid 
)

Definition at line 604 of file probe_value.c.

GHashTable* probe_value_get_last_raw_table_function_ee ( struct probe probe,
tid_t  tid 
)

Definition at line 384 of file probe_value.c.

GHashTable* probe_value_get_last_table ( struct probe probe,
tid_t  tid 
)

Definition at line 624 of file probe_value.c.

GHashTable* probe_value_get_last_table_basic ( struct probe probe,
tid_t  tid 
)

Definition at line 593 of file probe_value.c.

GHashTable* probe_value_get_last_table_function_ee ( struct probe probe,
tid_t  tid 
)

Definition at line 380 of file probe_value.c.

struct value* probe_value_get_raw ( struct probe probe,
tid_t  tid,
char *  name 
)

Definition at line 630 of file probe_value.c.

struct value* probe_value_get_raw_basic ( struct probe probe,
tid_t  tid,
char *  name 
)

Definition at line 556 of file probe_value.c.

struct value* probe_value_get_raw_function_ee ( struct probe probe,
tid_t  tid,
char *  name 
)

Definition at line 472 of file probe_value.c.

GHashTable* probe_value_get_raw_table ( struct probe probe,
tid_t  tid 
)

Definition at line 621 of file probe_value.c.

GHashTable* probe_value_get_raw_table_basic ( struct probe probe,
tid_t  tid 
)

Definition at line 582 of file probe_value.c.

GHashTable* probe_value_get_raw_table_function_ee ( struct probe probe,
tid_t  tid 
)

Definition at line 376 of file probe_value.c.

GHashTable* probe_value_get_table ( struct probe probe,
tid_t  tid 
)

The API wrappers.

Definition at line 618 of file probe_value.c.

GHashTable* probe_value_get_table_basic ( struct probe probe,
tid_t  tid 
)

Definition at line 571 of file probe_value.c.

GHashTable* probe_value_get_table_function_ee ( struct probe probe,
tid_t  tid 
)

Definition at line 372 of file probe_value.c.

void probe_value_notify_phase_function_ee ( struct probe probe,
tid_t  tid,
probe_handler_phase_t  phase 
)

Definition at line 96 of file probe_value.c.

void probe_value_notify_phase_watchedvar ( struct probe probe,
tid_t  tid,
probe_handler_phase_t  phase 
)

Definition at line 124 of file probe_value.c.

int probe_value_record_basic ( struct probe probe,
tid_t  tid,
char *  name,
struct value value,
int  israw 
)

Definition at line 235 of file probe_value.c.

int probe_value_record_stacked ( struct probe probe,
tid_t  tid,
char *  name,
struct value value,
int  israw 
)

Definition at line 187 of file probe_value.c.

struct probe* probe_value_symbol ( struct target target,
tid_t  tid,
struct bsymbol bsymbol,
probe_handler_t  pre_handler,
probe_handler_t  post_handler,
void *  handler_data 
)

Definition at line 660 of file probe_value.c.

struct probe * probe_value_var ( struct target target,
tid_t  tid,
struct bsymbol bsymbol,
probe_handler_t  pre_handler,
probe_handler_t  post_handler,
void *  handler_data 
)

Probe Value functions. If your probe supports value loading functions, you can use these on it when your pre/post handlers are called.

The idea here is that often probes can store loaded values. For instance, a watchpoint stores the last value of the watched var and returns that in the prehandler, and loads the new value and returns that in the posthandler. For a function entry/exit metaprobe, the prehandler might load all the arguments; and the posthandler might load/get all the arguments, and load the return value.

A couple simple default value probe implementations. Watchpoints and function entry/exit.

Definition at line 701 of file probe_value.c.

void probe_values_free_basic ( struct probe probe)

Definition at line 172 of file probe_value.c.

void probe_values_free_stacked ( struct probe probe)

Definition at line 149 of file probe_value.c.

probepoint_whence_t probe_whence ( struct probe probe)

Definition at line 1982 of file probe.c.

probepoint_watchsize_t probepoint_closest_watchsize ( int  size)

Definition at line 1769 of file probe.c.