nnosov
ba9db80f07
introduce parent frame
2020-01-16 16:22:17 +04:00
nnosov
1cddd773bc
use two stage unwinding: 1st is simply detection of function name using
...
libunwind and save functions cursor. 2nd - use dwarf information to cath
as more info as possible. this approach also allows to dereference
DW_OP_GNU_value operation since it need access to caller frame from
callee context
2020-01-16 14:54:42 +04:00
nnosov
e2bdd31cef
use internal linkedlist implementation instead of std::list,
...
std::vector. make stack trace a bit more complex
2020-01-14 18:03:11 +04:00
nnosov
4bc8c15918
take care that parameter may have 'undefined' or 'constant' values
2020-01-14 14:54:47 +04:00
nnosov
2b3db0f936
better and more dwarf info printing
2020-01-14 14:20:03 +04:00
nnosov
eb9dc1341d
introduce printing functions and their parameters on base of dwarf info
2020-01-14 13:47:08 +04:00
nnosov
fc6a81b460
move calc_expression() & get_value() from context to DWARF stack
2020-01-14 12:21:00 +04:00
nnosov
08ba87ce98
raw and dirty implementation of handling of constant, stack,
...
arithmetical and logical operations on DWARF expression stack machine
2020-01-11 18:56:03 +04:00
nnosov
58f14a695d
extract context from handler and move it to common. define functions to
...
use in calculation of DWARF expressions
2020-01-11 14:56:45 +04:00
nnosov
8f7fed23dc
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
2020-01-09 18:49:45 +04:00
nnosov
1f3a6237ac
pstrace: initial commit
2020-01-04 14:28:08 +04:00