Commit Graph
21 Commits
Author SHA1 Message Date
nnosov dcfbcd0952 implemented base support of DWARF lexical block and call site 2020-01-17 09:44:59 +04:00
nnosov 1e395e5cac fix for find dwarf CU for function, fix for find library base address 2020-01-16 16:51:36 +04:00
nnosov ba9db80f07 introduce parent frame 2020-01-16 16:22:17 +04:00
nnosov ab58889d93 better debug messaging 2020-01-16 15:30:05 +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 132e0d3854 temporary extract from pst_parameter location dwarf handling to
handle_location()
2020-01-16 12:33:07 +04:00
nnosov a60045d9f4 do not handle return parameter value since it's unaccessible in stack
trace (no functions returns)
2020-01-14 19:28:38 +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 b49318cd11 retrieve return value of function, show frame number on print 2020-01-14 16:57:21 +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 5ee3935dc2 move out value retrieval from expression evaluation. add get_value() 2020-01-14 11:48:08 +04:00
nnosov a1954685e5 add suppoert of dw_op_fbreg & dw_op_call_frame_cfa DWARF operations and
use them
2020-01-13 18:37:56 +04:00
nnosov 50bebda6a1 initial implementation of DWARF Expression state machine parsing and
it's usage for retrieve arguments/variables of function
2020-01-13 17:21:46 +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 83fc2bc3ef beterr DWARF expressions logging, trying to get CFI info for registers 2020-01-05 12:29:18 +04:00
nnosov 1f3a6237ac pstrace: initial commit 2020-01-04 14:28:08 +04:00