This repository has been archived by the owner on Mar 6, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
faster root cause analysis for when gdb and unicorn have a conflict
- Loading branch information
Showing
36 changed files
with
686 additions
and
677 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,7 +15,6 @@ def wrap(*args): | |
def test(sleep_duration=5): | ||
time.sleep(sleep_duration) | ||
|
||
|
||
if __name__ == "__main__": | ||
test() | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# DB | ||
|
||
Need a database for all the registers and access patterns, extending python with c is something I wanted to try. | ||
|
||
The database is bascially a key value storage, what the cool kids call a hash table. Using some clever techniques to not have to store all the memory for each state. The register design will be changed in the future to use the memory design, saves a lot of memory this way(or maybe I will add as an option, O(1) access with O(n) memory or O(log(n)) access with a lot less memory usage (only new memory cell for each edit))! | ||
|
||
# Regarding Valgrind | ||
There might be some memory leaks lurking somewhere. Haven't gotten [valgrind working for python](https://github.com/python/cpython/blob/master/Misc/README.valgrind) yet. Valgrind will say there are problems even when passed an empty script, so I can't actually run the test script to debug. | ||
|
||
# What do we want to store? | ||
- Register values | ||
- at different points in time/at different runs | ||
- you should be able to see the difference between all the registers at diffrent runs | ||
- A dynamic array can point to each run, and each run can be stored as a hashtable. | ||
(want that o(1) lookup when checking for a specific addresses) | ||
|
||
- this is basically what the current db has to offer. | ||
|
||
- Memory layout ? | ||
- Unicorn report changes to memory layout | ||
- Look up a value at a state with a binary search. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.