-
-
Notifications
You must be signed in to change notification settings - Fork 183
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 - Method call expressions #269
Conversation
So this is a known issue #136 if you want to tackle it at the same time (though it might be big or worth another pr) your can use my minitarp repo and the instrumentation points from a debug printout to start testing on the binary. Then also Disclaimer: this information is from memory as I'm on my phone on my commute home |
Alternatively, we can mark the test as one to ignore and remove that attribute when the other issue is fixed |
Thanks for the advice, I downloaded minitarp and I'm looking at the dumped assembly now for the examples. If I can't figure anything out after a bit I'll just revise the PR to be regression tests only. |
I'm not going to have time to properly try this out on my pc and figure things out. But if you get the decoded lines output |
Oh one thing I forgot about, breakpoint addresses are aligned to words, so mentally zero out the 3 least significant bits to get the aligned address for the breakpoint |
Okay I have an idea that seems to have legs after some plays with minitarp. If the prior instruction is a jump, instrument that as well as it may cause the instruction to be skipped. However, I need to find out if that would cause false positives in things like |
This might be a stupid question, but what's the way to know if a line is an |
Also, let me know if there are some tests that I can write to help with that. I feel like it might be much easier to make these changes after we add some regression tests for them. Or at least, we will have more confidence in making them. |
For coverage the existing tests and I have some larger projects I run it on and check the results of for sanity. Test wise it just needs tests that are <100% covered and matching the lines covered/uncovered. Thinking of it I don't think jump and branches are too massive a problem I'll have to experiment though |
yeah good call, I was working on the trace point improvements but there's a lot of analysis work that needs to be done as the naive solution didn't work |
This is a work in progress branch. I want to share my code so that I can get feedback from others. I started out by adding tests for method calls but stumbled upon some repeatable examples which do not get covered. I hope that maybe we can fix them in this branch in addition to testing them.
Here are the results from running tarpaulin on these tests:

It seems that the last line of a chain of method calls is counted as uncovered sometimes.