Add diff support between files to heaptrack_{print,gui}.
authorMilian Wolff <mail@milianw.de>
Tue, 31 May 2016 22:06:12 +0000 (00:06 +0200)
committerMilian Wolff <mail@milianw.de>
Tue, 14 Jun 2016 21:54:43 +0000 (23:54 +0200)
commit35df75db577331e975647451117ff449b2dbd5f8
tree1d9e25d29c4b66cf852b7884c63295b77a8fbb18
parentb73416675d908c74c6280e044184e1d7e00b74ce
Add diff support between files to heaptrack_{print,gui}.

Both executables get a new `--diff <file>` argument. The file
that is passed gets parsed in addition to the primary data file.
The allocation data therein will then be subtracted from the data
found in the primary data file.

The algorithm is somewhat complicated, because we have to ignore
instruction pointer addresses, as these will vary between runs
due to address space randomization. Paired with (partial) lack of
debug symbols, we end up with non-trivial situation to map allocations
from one run to that of another.

Essentially, we need to find the correct allocation that shares the
same backtrace while ignoring instruction pointer addresses.
accumulatedtracedata.cpp
accumulatedtracedata.h
gui/gui.cpp
gui/mainwindow.cpp
gui/mainwindow.h
gui/parser.cpp
gui/parser.h
heaptrack_print.cpp
indices.h