0eb6cad1ba
Detect end-of-unwind
...
According to LibUnwind:src/x86_64/Gstep.c:85
(HEAD=c91974f30feac05055621e33ca101a371236c786), the x86_64 ABI states
that the end of the call stack is determined by either a null RBP or an
undefined return-address column in the DWARF.
2018-04-06 19:05:38 +02:00
e567039227
Add a threaded test (harder to check unwinding end)
2018-04-06 17:36:16 +02:00
e5b76b3fb1
Update documentation accordingly
2018-04-06 16:51:55 +02:00
36096575ed
Remove necessity to copy the stack
2018-04-06 16:38:24 +02:00
c4895ed0d1
Make context acquisition behave correctly wrt. calling site
...
It now actually returns the context at the call site of the function,
instead of somewhere inside DwarfInterpret
2018-04-06 16:26:24 +02:00
18d3655890
Adapt test files
2018-04-05 19:18:06 +02:00
97032ee31b
Actually able to unwind the stack
...
This is filled with debug prints, and is quite brutal: it saves the
whole stack. It has to be optimized a lot.
Also, needs a smooth stop when trying to unwind main.
2018-04-05 19:17:02 +02:00
0bd5a40bce
Add some test files
2018-04-04 14:47:54 +02:00
cd7c1635aa
Plug MemoryMap into DwarfInterpret
2018-04-04 14:42:50 +02:00
d893b9138a
Move header files to dwarfinterpret/
2018-04-04 14:42:27 +02:00
3c9dae009e
Compile in debug mode
2018-04-03 13:52:40 +02:00
7ca8329840
Modify Makefile accordingly
2018-04-03 12:23:50 +02:00
13283d8e2a
Add MemoryMap to read /proc/[pid]/maps
2018-04-03 12:23:15 +02:00
ea7405e3ba
Add in-code documentation and Doxygen settings
2018-03-30 14:27:25 +02:00
bf8864e7e6
Acually retrieve dwarf data
...
Doesn't work for now: still have to take into account the memory map
offsets.
2018-03-30 13:25:05 +02:00
67aef72302
Add ability to evaluate registers' values (UNTESTED)
2018-03-29 13:34:47 +02:00
c4a0a38b34
Add debug code to print return address
2018-03-28 16:03:43 +02:00
3932ee09e6
Start library: working singleton class schema
2018-03-28 15:33:36 +02:00
37c54424a3
Enhance readme
2018-03-27 18:49:22 +02:00
572334e87d
Initial commit
2018-03-27 18:47:47 +02:00