Stackdb
Stackdb is a stackable, multi-target and -level source debugger and memory forensics library.
|
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <inttypes.h>
#include <signal.h>
#include <argp.h>
#include "log.h"
#include "glib_wrapper.h"
#include "dwdebug.h"
#include "target_api.h"
#include "target.h"
#include "target_os.h"
#include "probe_api.h"
#include "probe.h"
#include "alist.h"
#include "list.h"
Go to the source code of this file.
Data Structures | |
struct | spf_action |
struct | spf_filter |
struct | spf_config |
struct | overlay_spec |
struct | spf_argp_state |
Macros | |
#define | LF_U_CFG 1 << 1 |
#define | LF_U_PROBE 1 << 2 |
#define | WHEN_PRE 0 |
#define | WHEN_POST 1 |
#define | __TARGET_OVERLAY 0x200000 |
#define | SPF_CONFIGFILE_FATAL 0x200001 |
#define | SPF_OS_SYSCALL_PROBES 0x200002 |
Enumerations | |
enum | spf_action_type_t { SPF_ACTION_PRINT = 1, SPF_ACTION_ABORT = 2, SPF_ACTION_REPORT = 3, SPF_ACTION_EXIT = 4, SPF_ACTION_ENABLE = 5, SPF_ACTION_DISABLE = 6, SPF_ACTION_REMOVE = 7, SPF_ACTION_BT = 8, SPF_ACTION_SIGNAL = 9 } |
Functions | |
struct spf_config * | load_config_file (char *file) |
int | apply_config_file (struct spf_config *config) |
void | reload_config_file (void) |
void | spf_action_free (struct spf_action *spfa) |
void | spf_filter_free (struct spf_filter *spff) |
void | spf_config_free (struct spf_config *config) |
void | cleanup_probes () |
void | sigh_cleanup_probes (int signo, siginfo_t *siginfo, void *x) |
void | print_thread_context (FILE *stream, struct target *target, tid_t tid, int ttctx, int ttdetail, int bt, int overlay_levels, char *overlay_debuginfo_prefix, char *sep, char *kvsep, char *tprefix, char *tsep) |
void | spf_backtrace (struct target *t, tid_t ctid, char *tiddesc, int overlay_levels, char *overlay_debuginfo_prefix) |
int | spf_signal (struct target *t, tid_t ctid, char *tiddesc, char *sigdesc) |
result_t | handler (int when, struct probe *probe, tid_t tid, void *data, struct probe *trigger, struct probe *base) |
result_t | pre_handler (struct probe *probe, tid_t tid, void *data, struct probe *trigger, struct probe *base) |
result_t | post_handler (struct probe *probe, tid_t tid, void *data, struct probe *trigger, struct probe *base) |
result_t | null_handler (struct probe *probe, tid_t tid, void *data, struct probe *trigger, struct probe *base) |
error_t | spf_argp_parse_opt (int key, char *arg, struct argp_state *state) |
int | main (int argc, char **argv) |
char * | _get_next_non_enc_esc (char *s, int c) |
Variables | |
GList * | targets |
struct spf_config * | config = NULL |
struct spf_argp_state | opts |
GHashTable * | sprobes = NULL |
GHashTable * | fprobes = NULL |
int | needtodie = 0 |
int | needtodie_exitcode = 0 |
int | result_counter = 0 |
sigset_t | ignored |
sigset_t | interrupt |
sigset_t | exitset |
struct argp_option | spf_argp_opts [] |
struct argp | spf_argp |
enum spf_action_type_t |
int apply_config_file | ( | struct spf_config * | config | ) |
struct spf_config * load_config_file | ( | char * | file | ) |
void sigh_cleanup_probes | ( | int | signo, |
siginfo_t * | siginfo, | ||
void * | x | ||
) |
void spf_action_free | ( | struct spf_action * | spfa | ) |
error_t spf_argp_parse_opt | ( | int | key, |
char * | arg, | ||
struct argp_state * | state | ||
) |
void spf_config_free | ( | struct spf_config * | config | ) |
void spf_filter_free | ( | struct spf_filter * | spff | ) |
struct spf_config* config = NULL |
struct spf_argp_state opts |
struct argp spf_argp |
struct argp_option spf_argp_opts[] |