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 | Functions | Variables
probe_value.c File Reference
#include "log.h"
#include "target_api.h"
#include "target.h"
#include "target_os.h"
#include "probe_api.h"
#include "glib_wrapper.h"
#include "dwdebug.h"
#include "dwdebug_priv.h"

Go to the source code of this file.

Data Structures

struct  probe_value
 

Functions

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_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)
 
void probe_values_free_stacked (struct probe *probe)
 
void probe_values_free_basic (struct probe *probe)
 
int probe_value_record_stacked (struct probe *probe, tid_t tid, char *name, struct value *value, int israw)
 
int probe_value_record_basic (struct probe *probe, tid_t tid, char *name, struct value *value, int israw)
 
GHashTable * __probe_value_get_table_function_ee (struct probe *probe, tid_t tid, int israw, int allowlast)
 
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)
 
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_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)
 
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_raw (struct probe *probe, tid_t tid, char *name)
 
struct valueprobe_value_get (struct probe *probe, tid_t tid, char *name)
 
struct valueprobe_value_get_last_raw (struct probe *probe, tid_t tid, char *name)
 
struct valueprobe_value_get_last (struct probe *probe, tid_t tid, char *name)
 
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)
 

Variables

struct probe_ops var_ops
 

Function Documentation

GHashTable* __probe_value_get_table_function_ee ( struct probe probe,
tid_t  tid,
int  israw,
int  allowlast 
)

Definition at line 270 of file probe_value.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 
)

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.

Variable Documentation

struct probe_ops var_ops
Initial value:
= {
.gettype = probe_value_var_gettype,
.get_value_table = probe_value_get_table_basic,
.get_raw_value_table = probe_value_get_raw_table_basic,
.get_last_value_table = probe_value_get_last_table_basic,
.get_last_raw_value_table = probe_value_get_last_raw_table_basic,
.get_value = probe_value_get_basic,
.get_raw_value = probe_value_get_raw_basic,
.get_last_value = probe_value_get_last_basic,
.get_last_raw_value = probe_value_get_last_raw_basic,
.values_notify_phase = probe_value_notify_phase_watchedvar,
.values_free = probe_values_free_basic,
}
GHashTable * probe_value_get_raw_table_basic(struct probe *probe, tid_t tid)
Definition: probe_value.c:582
GHashTable * probe_value_get_table_basic(struct probe *probe, tid_t tid)
Definition: probe_value.c:571
void probe_values_free_basic(struct probe *probe)
Definition: probe_value.c:172
struct value * probe_value_get_last_basic(struct probe *probe, tid_t tid, char *name)
Definition: probe_value.c:561
GHashTable * probe_value_get_last_raw_table_basic(struct probe *probe, tid_t tid)
Definition: probe_value.c:604
struct value * probe_value_get_last_raw_basic(struct probe *probe, tid_t tid, char *name)
Definition: probe_value.c:566
struct value * probe_value_get_raw_basic(struct probe *probe, tid_t tid, char *name)
Definition: probe_value.c:556
GHashTable * probe_value_get_last_table_basic(struct probe *probe, tid_t tid)
Definition: probe_value.c:593
void probe_value_notify_phase_watchedvar(struct probe *probe, tid_t tid, probe_handler_phase_t phase)
Definition: probe_value.c:124
struct value * probe_value_get_basic(struct probe *probe, tid_t tid, char *name)
Definition: probe_value.c:551

Definition at line 687 of file probe_value.c.