Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Add heap tracking #25

Open
wants to merge 105 commits into
base: master
Choose a base branch
from
Open

WIP: Add heap tracking #25

wants to merge 105 commits into from

Conversation

aewag
Copy link
Member

@aewag aewag commented May 27, 2022

wip, do not merge

@aewag aewag force-pushed the add-heap-tracking branch 3 times, most recently from d1acd52 to c4ee61a Compare June 29, 2022 07:11
@aewag aewag changed the title Add heap tracking WIP: Add heap tracking Mar 2, 2023
aewag added 28 commits March 2, 2023 15:58
hashmap stored prior created hashs within a vector. The last created hash was
used to create a new unique hash.
hashmap now only counts the occurences of each hash and uses this counter to
diversify the created hashes.
Using object size as input for the logical address hash calculation leads to
different hashes even if an allocation was called from the same calling location.
We don't need this diversification, as the counter already leads to different
hashes if needed.
Callsite is redundant information as the callstack contains the callsite.
Allocatios have to be always recorded, as the pintool converts each virtual memory
address into a logical address. If it fails to do so it will trigger a fault.
Therefore the pintool needs to be aware about all allocated memory objects.
For libc at other installed libaries a separate package can be installed to access
debug symbols. But for this a separate elffile is stored with an arbitrary name.
gdb does automagically detect this and loads the correct files.
If nm fails to load any symbols, gdb is used as a fallback to find the debug
elffile.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant