global refactoring: use libunwind to get stack frame, get rid on process

base address, better DWARF DW_OP_XXX handling, initial implementation of
parameter's values retrieval
This commit is contained in:
2020-01-09 18:49:45 +04:00
parent 83fc2bc3ef
commit 8f7fed23dc
6 changed files with 652 additions and 301 deletions
+13
View File
@@ -0,0 +1,13 @@
#pragma once
typedef struct __dwarf_op_map {
int op_num; // DWARF Operation DW_OP_XXX
int regno; // platform-dependent register number if present
const char* regname; // register name if regno specified
const char* op_name; // string representation of an operation
} dwarf_op_map;
const dwarf_op_map* find_op_map(int op);
int32_t decode_sleb128(uint8_t *sleb128);
uint32_t decode_uleb128(uint8_t *uleb128);