-
Notifications
You must be signed in to change notification settings - Fork 22
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/dumb tracer #85
Wip/dumb tracer #85
Conversation
changes:
|
…g one, and return the crashing one as the default to be consistent
…o it if there is testcase at all
It looks like the merge branch passed and wip branch didn't pass. This is expected, because colorguard does not have a |
archr/targets/__init__.py
Outdated
@@ -9,6 +9,11 @@ | |||
import io | |||
import re | |||
|
|||
try: | |||
import snapshot |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this dependency? Can we get it marked as an extra_requires in setup.py?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is @Lukas-Dresel 's snapshot debugging code. I'll let him answer this question.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is for my snapshot debugging extension (which is really just glorified fork()
with parents blocking to handle stdio). It's pushed here Lukas-Dresel/snapshot. It's super useful for debugging anything long running where it's easy to mess up the stepping through.
One issue is that to revert a snapshot, it exits the child process and the parent process resumes as-is. However, exiting the child process causes the archr
context managers to kill the docker
containers it spun up, even though those are still used in all parent processes. This code only deletes the containers if we're not in a snapshot, so that only the final process exit will kill it.
That being said, this is obviously far from perfect, and more one of a myriad of issues (sockets having had data sent, processes having been started/stopped, etc. Ideally for the ones we can (killing processes, containers) I'd like to have this here so that the only bugs that could be introduced are state-based ones, not random docker container doesn't exist
which prevents me from debugging further.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seeing as it is debugging code, I am going to remove it before it goes to master.
mechaphish/colorguard#10
angr/binaries#75
angr/rex#75
angr/angr#2627
angr/angrop#33