Stackdb
Stackdb is a stackable, multi-target and -level source debugger and memory forensics library.
|
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <string.h>
#include <stdint.h>
#include <inttypes.h>
#include <assert.h>
#include <regex.h>
#include "config.h"
#include "common.h"
#include "glib_wrapper.h"
#include "log.h"
#include "output.h"
#include "list.h"
#include "alist.h"
#include "binfile.h"
#include "dwdebug.h"
#include "dwdebug_priv.h"
#include <dwarf.h>
#include <gelf.h>
#include <elfutils/libebl.h>
#include <elfutils/libdw.h>
#include <elfutils/libdwfl.h>
#include "memory-access.h"
Go to the source code of this file.
Data Structures | |
struct | attrcb_args |
Macros | |
#define | DFE(msg) |
#define | DAW_STR(msg) |
#define | DAW_ADDR(msg) |
#define | DAW_NUM(msg) |
#define | DAW_BLOCK(msg) |
#define | DAW_REF(msg) |
#define | DAW_FLAG(msg) |
#define | DAW(msg) |
#define | DAWL(msg) |
Variables | |
struct debugfile_ops | dwarf_debugfile_ops |
#define DAW | ( | msg | ) |
#define DAW_ADDR | ( | msg | ) |
#define DAW_BLOCK | ( | msg | ) |
#define DAW_FLAG | ( | msg | ) |
#define DAW_NUM | ( | msg | ) |
#define DAW_REF | ( | msg | ) |
#define DAW_STR | ( | msg | ) |
#define DAWL | ( | msg | ) |
#define DFE | ( | msg | ) |
Definition at line 1761 of file dwarf_debuginfo.c.
Definition at line 1784 of file dwarf_debuginfo.c.
const char* dwarf_access_string | ( | unsigned int | code | ) |
Convenience string function, straight out of elfutils/readelf.c !
Definition at line 1281 of file dwarf_elfutils.c.
const char* dwarf_attr_string | ( | unsigned int | attrnum | ) |
Convenience string function, straight out of elfutils/readelf.c !
Definition at line 850 of file dwarf_elfutils.c.
const char* dwarf_calling_convention_string | ( | unsigned int | code | ) |
Convenience string function, straight out of elfutils/readelf.c !
Definition at line 1362 of file dwarf_elfutils.c.
int dwarf_cfa_read_retaddr | ( | struct debugfile * | debugfile, |
struct location_ctxt * | lctxt, | ||
ADDR * | o_retaddr | ||
) |
Definition at line 1609 of file dwarf_cfa.c.
int dwarf_cfa_read_saved_reg | ( | struct debugfile * | debugfile, |
struct location_ctxt * | lctxt, | ||
REG | reg, | ||
REGVAL * | o_regval | ||
) |
Definition at line 1392 of file dwarf_cfa.c.
const char* dwarf_discr_list_string | ( | unsigned int | code | ) |
Convenience string function, straight out of elfutils/readelf.c !
Definition at line 1408 of file dwarf_elfutils.c.
const char* dwarf_encoding_string | ( | unsigned int | code | ) |
Convenience string function, straight out of elfutils/readelf.c !
Definition at line 1241 of file dwarf_elfutils.c.
int dwarf_fini | ( | struct debugfile * | debugfile | ) |
Definition at line 4820 of file dwarf_debuginfo.c.
const char* dwarf_form_string | ( | unsigned int | form | ) |
Convenience string function, straight out of elfutils/readelf.c !
Definition at line 1119 of file dwarf_elfutils.c.
int dwarf_get_lines | ( | struct symbol_root_dwarf * | srd, |
Dwarf_Off | offset | ||
) |
Most of the src in this file is slightly-tweaked stuff from elfutils, especially readelf.c. May as well just take all their stuff – plus it is more relocation-ready!
Definition at line 62 of file dwarf_elfutils.c.
const char* dwarf_identifier_case_string | ( | unsigned int | code | ) |
Convenience string function, straight out of elfutils/readelf.c !
Definition at line 1341 of file dwarf_elfutils.c.
int dwarf_init | ( | struct debugfile * | debugfile | ) |
Definition at line 4808 of file dwarf_debuginfo.c.
const char* dwarf_inline_string | ( | unsigned int | code | ) |
Convenience string function, straight out of elfutils/readelf.c !
Definition at line 1220 of file dwarf_elfutils.c.
const char* dwarf_lang_string | ( | unsigned int | lang | ) |
Convenience string function, straight out of elfutils/readelf.c !
Definition at line 1170 of file dwarf_elfutils.c.
int dwarf_load_aranges | ( | struct debugfile * | debugfile, |
unsigned char * | buf, | ||
unsigned int | len, | ||
Dwarf * | dbg | ||
) |
Definition at line 4169 of file dwarf_debuginfo.c.
int dwarf_load_cfa | ( | struct debugfile * | debugfile, |
char * | buf, | ||
unsigned int | len, | ||
Dwarf * | dbg | ||
) |
int dwarf_load_debuginfo | ( | struct debugfile * | debugfile | ) |
Definition at line 4668 of file dwarf_debuginfo.c.
int dwarf_load_pubnames | ( | struct debugfile * | debugfile, |
unsigned char * | buf, | ||
unsigned int | len, | ||
Dwarf * | dbg | ||
) |
Definition at line 4087 of file dwarf_debuginfo.c.
const char* dwarf_ordering_string | ( | unsigned int | code | ) |
Convenience string function, straight out of elfutils/readelf.c !
Definition at line 1389 of file dwarf_elfutils.c.
int dwarf_reftab_insert | ( | struct symbol_root_dwarf * | srd, |
struct symbol * | symbol, | ||
SMOFFSET | ref | ||
) |
Definition at line 346 of file dwarf_debuginfo.c.
int dwarf_reftab_replace | ( | struct symbol_root_dwarf * | srd, |
struct symbol * | existing, | ||
struct symbol * | new, | ||
SMOFFSET | ref, | ||
GHashTableIter * | iter | ||
) |
Definition at line 369 of file dwarf_debuginfo.c.
GSList* dwarf_refuselist_get | ( | struct symbol_root_dwarf * | srd, |
SMOFFSET | ref | ||
) |
Definition at line 138 of file dwarf_debuginfo.c.
int dwarf_refuselist_hold | ( | struct symbol_root_dwarf * | srd, |
struct symbol * | symbol, | ||
SMOFFSET | ref | ||
) |
Definition at line 109 of file dwarf_debuginfo.c.
int dwarf_refuselist_notify_reftab_changed | ( | struct symbol_root_dwarf * | srd, |
SMOFFSET | ref, | ||
struct symbol * | refsym | ||
) |
Definition at line 268 of file dwarf_debuginfo.c.
int dwarf_refuselist_release | ( | struct symbol_root_dwarf * | srd, |
struct symbol * | symbol, | ||
SMOFFSET | ref | ||
) |
Definition at line 122 of file dwarf_debuginfo.c.
int dwarf_specify_definition_attrs | ( | struct symbol_root_dwarf * | srd, |
struct symbol * | specification, | ||
struct symbol * | definition | ||
) |
Definition at line 660 of file dwarf_debuginfo.c.
int dwarf_specify_definition_members | ( | struct symbol_root_dwarf * | srd, |
struct symbol * | specification, | ||
struct symbol * | definition | ||
) |
Definition at line 677 of file dwarf_debuginfo.c.
int dwarf_symbol_expand | ( | struct debugfile * | debugfile, |
struct symbol * | root, | ||
struct symbol * | symbol | ||
) |
Definition at line 3560 of file dwarf_debuginfo.c.
int dwarf_symbol_ref_symbol_changed | ( | struct symbol_root_dwarf * | srd, |
struct symbol * | symbol, | ||
SMOFFSET | ref, | ||
struct symbol * | refsym | ||
) |
Definition at line 166 of file dwarf_debuginfo.c.
int dwarf_symbol_refuselist_release_all | ( | struct symbol_root_dwarf * | srd, |
struct symbol * | symbol | ||
) |
Definition at line 144 of file dwarf_debuginfo.c.
Definition at line 3523 of file dwarf_debuginfo.c.
Definition at line 3602 of file dwarf_debuginfo.c.
Definition at line 4778 of file dwarf_debuginfo.c.
int dwarf_symbol_set_datatype_ref | ( | struct symbol_root_dwarf * | srd, |
struct symbol * | symbol, | ||
SMOFFSET | ref | ||
) |
Definition at line 290 of file dwarf_debuginfo.c.
int dwarf_symbol_set_origin_ref | ( | struct symbol_root_dwarf * | srd, |
struct symbol * | symbol, | ||
SMOFFSET | ref | ||
) |
Definition at line 309 of file dwarf_debuginfo.c.
const char* dwarf_tag_string | ( | unsigned int | tag | ) |
Convenience string function, straight out of elfutils/readelf.c !
Definition at line 708 of file dwarf_elfutils.c.
int dwarf_unload_cfa | ( | struct debugfile * | debugfile | ) |
Definition at line 1802 of file dwarf_cfa.c.
const char* dwarf_virtuality_string | ( | unsigned int | code | ) |
Convenience string function, straight out of elfutils/readelf.c !
Definition at line 1321 of file dwarf_elfutils.c.
const char* dwarf_visibility_string | ( | unsigned int | code | ) |
Convenience string function, straight out of elfutils/readelf.c !
Definition at line 1301 of file dwarf_elfutils.c.
void finalize_die_symbol | ( | struct debugfile * | debugfile, |
int | level, | ||
struct symbol * | symbol, | ||
struct symbol * | parentsymbol, | ||
struct symbol * | voidsymbol, | ||
GHashTable * | reftab, | ||
struct array_list * | die_offsets, | ||
SMOFFSET | cu_offset | ||
) |
Definition at line 3902 of file dwarf_debuginfo.c.
void finalize_die_symbol_name | ( | struct symbol * | symbol | ) |
Definition at line 3879 of file dwarf_debuginfo.c.
struct debugfile_ops dwarf_debugfile_ops |
DWARF debugfile backend API stuff.
Definition at line 4846 of file dwarf_debuginfo.c.